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

1.前言

  新的学期,新的开始,咦…怎么连不上咱的服务器啦?难道被墙了吗?等等…怎么国内的也连不上?Σ(  ̄□ ̄||)
是今年辣鸡校园网干的好事!天呐,它居然封掉了22端口!(╯°口°)╯(┴—┴

——于是,便有了这篇搭建http代理的教程

2.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,必须添加用户认证

3.设置用户认证

#安装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

4.测试代理

以curl为例:

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

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

点赞
  1. ⑨BIE说道:

    wodima什么学校为啥连22都封(

    1. Katyusha说道:

      反正窝已经毕业了XD

  2. Handle说道:

    :confused:
    等一下,头图似乎有什么不对吧

  3. 丘八说道:

    写的很好,支持一下

  4. repostone说道:

    什么时候搭一个公开的网页代理。

    1. Katyusha说道:

      不会的啦,因为公开代理会被当作RBQ

发表评论

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