1.安装squid
yum install -y squid
2. 配置squid
squid的配置文件默认安装在 /etc/squid/squid.conf
, 最简单配置:
# 默认是禁止所有代理连接的,我们设置为允许所有代理均可连接
# http_access deny all
http_access allow all
# 端口设置
http_port 0.0.0.0:3128
# 缓存设置打开
cache_dir ufs /var/spool/squid 100 16 256
好了,现在执行初始化缓存目录命令:
squid -z
启动squid命令:
systemctl start squid
查看端口,是否已经启动:
netstat -ntpl | grep 8888
日志默认都在 /var/log/squid/
下面,查看访问日志:
tail -f /var/log/squid/access.log
防火墙记得打开3218端口,现在就可以使用代理了,python示例:
import requests
proxy = "http://你的代理服务器ip:3128"
proxies = {
'http': proxy, 'https': proxy
}
requests.get('https://www.github.com', proxies=proxies)
3.设置验证机制
这样配置之后,squid代理服务器就可以使用了,默认的端口是3128,但是为了安全,只让受信的服务器连接,通常还需要对squid配置账号验证授权使用,通过httpd-tools生成密码文件。
安装工具
yum install -y httpd-tools
生成密码文件
mkdir /etc/squid3/
# 生成密码文件,指定文件路径,其中squid是用户名
htpasswd -cd /etc/squid3/passwords squid
#提示输入密码,不能超过8个字符,输入密码123456
测试密码
/usr/lib64/squid/basic_ncsa_auth /etc/squid3/passwords
# 输入账号和密码
squid 123456
OK
# 测试完成,crtl + c 打断
配置squid使用验证
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid3/passwords #账户密码文件
auth_param basic realm proxy
auth_param basic children 50 #最多 50 个账户同时运行
auth_param basic realm CoolTube Proxy Server #密码框描述
auth_param basic credentialsttl 2 hours #认证持续时间
acl authenticated proxy_auth REQUIRED #对 authenticated 进行外部认证
http_access allow authenticated #允许 authenticated 中的成员访问
http_access deny all #拒绝所有其他访问
visible_hostname squid.proxy #代理机名字
ok,测试一下
import requests
proxy = "http://squid:123456@你的代理服务器ip:3128"
proxies = {
'http': proxy, 'https': proxy
}
requests.get('https://www.github.com', proxies=proxies)