目录
目录
一、前言
二、Squid安装
三、客户端设置
四、验证
五、Python请求
六、写在最后
一、前言
1)我们可能会碰到这样的需求,客户端Client-1需要访问Server-1,但由于各种各样的原因,不能直接通信。于是想到在中间找一台服务器做正向代理,客户端Clent1通过代理服务器与服务端Server1通信。
2)我们选择做正向代理的方式有很多,但我们这里选择Squid,可以通过性能测试等对比多个方案选出适合自己的。
二、Squid的安装
1、安装
方法一、
yum install -y gcc openssl openssl-devel yum install squid方法二、
wget tar -zxvf squid-4.12.tar.gz cd squid-4.12/ ./configure --enable-ssl --with-openssl=/usr/local/openssl make make install注: /usr/local/openssl指的是你的openssl目录,有的是/usr/include/openssl;如果指定不正确的话,编译会一直报错
2、修改配置文件
vim /usr/local/squid/etc/squid.conf 添加下面这一行允许所有访问,配置文件的访问策略,权限控制,缓存等后续博文更新,这里比较松的允许所有请求访问。
http_access allow all3、启动squid
./squid三、客户端设置
我使用google浏览器设置squid代理,设置-->高级-->打开您的计算机代理设置;squid的默认端口为3128;
四、验证
通过IP即可知道是不是自己设置的代理服务器。
五、Python使用代理访问
import requests # 使用代理获取百度首页 headers = { "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36" } #定义代理的字典 proxies = { "https": ":3128" } # 使用代理给服务器发送请求 response = requests.get("", proxies=proxies, headers=headers, timeout=(3, 7)) # 获取状态 print(response.status_code) print(response.content.decode())六、CURL代理访问
curl -x 服务器ip:端口号 ip.sb
#返回 服务器外网ip