使用Squid搭建带认证的http代理

1.Squid的安装与配置

在Debian系环境中,可使用apt进行安装,在CentOS系环境中则需要自行编译安装,此处以Ubuntu 18.04 系统为例

apt install squid

#备份原有的配置文件。在不同的环境或版本中,该文件位置可能不同
cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
vim /etc/squid/squid.conf

将默认的配置文件内容更改如下

#用户认证文件的位置
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/passwd
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

#http代理的端口,默认为3128
http_port 3128

此时http代理已经搭建完成,但为了避免代理成为RBQ,必须添加用户认证

2.设置用户认证

#安装Apache附带的htpasswd程序,用于生成认证文件
apt install apache2-utils

#此处为认证文件的位置,与配置文件中的相同,假设用户名为admin
htpasswd -c /etc/squid/passwd admin
New password: [输入密码,此处不回显]
Re-type new password: [再次输入密码]

#重启服务,并设置开机自启
systemctl restart squid
systemctl enable squid

3.测试代理

以curl为例:

#用户名admin,密码123456,服务器地址x.x.x.x,端口3128
curl --proxy x.x.x.x:3128 --proxy-user admin:123456 http://www.baidu.com

如果可以返回百度首页,即表示代理搭建成功!

6 Comments

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注