使用squid配置正向代理--Linux篇
简介
Squid是一种用来缓冲Internet数据的软件。它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求。也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面。Squid随之连接到远程服务器(比如:www.baidu.com)并向这个页面发出请求。然后,Squid显式地聚集数据到客户端机器,而且同时复制一份。当下一次有人需要同一页面时,Squid可以简单地从磁盘中读到它,那样数据迅即就会传输到客户机上。当前的Squid可以处理HTTP,FTP,GOPHER,SSL和WAIS等协议。但它不能处理如POP,NNTP,RealAudio以及其它类型的东西。
安装(Ubuntu系统环境)
1.使用命令安装;
sudo apt-get install -y squid
2.使用源码安装
cd /usr/local/src
wget http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.2.tar.gz
tar -zxvf squid-3.5.2.tar.gz
cd squid-3.5.2
./configure --prefix=/usr/local/squid --enable-snmp --enable-storeio=diskd,ufs --enable-poll --disable-hostname-checks --enable-underscores --enable-x-accelerator-vary --enable-kill-parent-hack --enable-err-language="Simplify_Chinese" --enable-default-err-languages="Simplify_Chinese" --disable-ident-lookups --with-maxfd=65535
make
make install
没有出现异常就是安装成功了,接下来进入配置环节;
配置Squid
无密码访问
- 打开配置文件:
cd /etc/squid && vim squid.conf
- 内容很多,不需要逐行看;使用vim 定位到大约1191行,内容为:
http_access allow localhost
; - 修改为:
http_access allow all
代表全部可访问;
有密码访问
Squid实现用户名密码登录验证,可使用HTTPBasicAuth 的方式。 需要htpasswd工具来创建passwd文件。
1.查找basic_ncsa_auth路径
find / -name basic_ncsa_auth
得到路径:/usr/lib/squid/basic_ncsa_auth
2. 配置验证方式
squid的配置文件中添加如下内容:
auth_param basic program /usr/lib/sq