squid3反向代理配置

源码编译安装

当然你也可以到下面的官方网站下载最新的版本进行编译安装:

http://www.squid-cache.org/

其中STABLE稳定版、DEVEL版通常是提供给开发人员测试程序的,假定下载了最新 的稳定版squid-2.5.STABLE2.tar.gz,用以下命令解开压缩包:

tar xvfz squid-2.5.STABLE.tar.gz

用bz2方式压缩的包可能体积更小,相应的命令是:

tar xvfj squid-2.5.STABLE.tar.bz2

然后,进入相应目录对源代码进行配置和编译,命令如下:

cd squid-2.5.STABLE2

配置命令configure有很多选项,如果不清楚可先用“-help”查看。通常情况下,用到的选项有以下几个:

--prefix=/web/squid

指定Squid的安装位置,如果只指定这一选项,那么该目录下会有bin、sbin、man、conf等目录,而主要的配置文件此时在conf子目录中。为便于管理,最好用参数--sysconfdir=/etc把这个文件位置配置为/etc。

允许解析的URL中出现下划线,因为默认情况下Squid会认为带下划线的URL是 非法的,并拒绝访问该地址。 整个配置编译过程如下:

./configure--sysconfdir=/etc

其中一些选项有特殊作用,将在下面介绍它们。 最后执行下面两条命令,将源代码编译为可执行文件,并拷贝到指定位置。

make

sudo make install

配置文件squid.conf

auth_param digest program /usr/local/squid/libexec/digest_file_auth -c /etc/squid3/digest_pwds
#auth_param basic program /usr/local/squid/libexec/basic_ncsa_auth /etc/squid3/ncsa_pwds

auth_param digest realm proxy
#auth_param basic realm proxy

acl authenticated proxy_auth REQUIRED
http_access allow authenticated

digest认证

sudo htdigest -c /etc/squid3/digest_pwds proxy root
root

basic_ncsa_auth 认证

sudo htpasswd -c /etc/squid3/ncsa_pwds guest
guest

squid命令

kill命令
/usr/local/squid/sbin/squid -k kill

加载配置文件命令
/usr/local/squid/sbin/squid -s

测试

curl -i --proxy-digest -U root --proxy http://192.168.17.129:3128 http://www.baidu.com

root

curl -i --basic  -U guest --proxy http://192.168.17.129:3128 http://www.baidu.com

guest

参考

http://www.squid-cache.org/Doc/config/auth_param/

https://my.oschina.net/yygh/blog/383288

https://segmentfault.com/a/1190000004362731

http://zyan.cc/book/squid/chap12.html#a3

http://wiki.ubuntu.org.cn/Squid#.E6.BA.90.E7.A0.81.E7.BC.96.E8.AF.91.E5.AE.89.E8.A3.85