我的博客
欢迎来到我的博客
bunny.icu

安装Squid代理服务器

安装Squid代理服务器

关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service

如果找不到firewalld.service,可以忽略

如果使用云服务器,还需要配置安全组,具体来说,就是要将squid服务要使用的端口配置到安全组的入站规则中,后面我使用的是8128,因为默认的3128容易被攻击

无需授权的开放代理(open proxy)是不安全的,因此后面配置为通过身份验证的用户才能访问

安装squid

yum install -y squid
yum install -y httpd-tools

创建用户

mkdir -p /etc/squid/passwords
htpasswd -c /etc/squid/passwords/squid_passwd squid_user
# 然后需要输入两次密码
# squid_user是用户名,可以修改

配置squid

vim /etc/squid/squid.conf

写入以下内容

# 监听IPv4的8128端口
http_port 0.0.0.0:8128

# 启用基本认证
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwords/squid_passwd
auth_param basic realm Squid Proxy Server
auth_param basic children 5
auth_param basic credentialsttl 2 hours

# 定义认证访问控制列表(ACL)
acl authenticated proxy_auth REQUIRED

# 允许通过身份验证的用户访问
http_access allow authenticated

# 不限制任何流量,允许所有访问
# 其他流量被认证后允许
http_access allow all

# 禁用缓存(如果不需要缓存功能)
cache_dir null /tmp

# 定义日志文件
access_log /var/log/squid/access.log squid

# 允许所有客户端进行代理
# 如果要限制某些IP访问,可以使用 acl 规则,但这里我们允许所有人访问
acl all src 0.0.0.0/0
http_access allow all

# Squid通过以下规则可以处理HTTPS流量 (squid通常作为HTTP代理使用)
# 如果想让它能支持HTTPS代理,需要开启SSL加速并配置合适的证书,这里暂时不启用SSL
# https_port 3129

# 关闭Squid的默认缓存限制,禁用其他缓存选项
maximum_object_size 0 KB

# Squid会自动选择最适合的最大文件大小缓存
cache_mem 64 MB

# 配置日志文件
logfile_rotate 10

启动squid

systemctl start squid
systemctl enable squid
# 查看状态
# systemctl status squid
# 重启
# systemctl restart squid
# 查看日志
# tail -f /var/log/squid/access.log

验证

import requests
url = "https://baidu.com"
proxy_url = "http://[username]:[password]@[host]:8128"
proxies = {"http": proxy_url, "https": proxy_url}
response = requests.get(url, proxies=proxies)

版权声明


本作品系原创, 转载须遵循 CC BY-NC-ND 4.0 许可协议
本文标题:安装Squid代理服务器
本文链接:https://www.bunny.icu/archives/737

推荐文章

发表回复

textsms
account_circle
email

bunny.icu

安装Squid代理服务器
代理服务器Squid的安装和使用
扫描二维码继续阅读
2024-11-30