作为一个开源的WEB 代理服务器软件,Squid的支持HTTP, HTTPS, FTP 等主流互联网服务,相较于拷贝数据库、代码、HTML页面式的架设内容服务器集群(Content Server Cluster), 架设的Proxy Server组成内容集群,降低服务器负载、同时提升响应速度。
Squid的官方网站: http://www.squid-cache.org/, 从名字就可以看出,squid主要还是作为服务Apache,PHP, IIS等网络服务的缓存服务器使用。 据官方报道,在Wikimedia 网站获得75%的命中率,对于Apache服务器的性能,相应提升4倍之多,对于来源于同一IP地址的特定页面密集访问,Squid代理服务器可以做到100%响应。
本文主要介绍Squid 3.3 搭建 HTTP代理服务器的一些方法。
- 1. Linux 版本的服务器上 安装 Squid,
1.1 Ubuntu: apt-get install squid
1.2 Centos: yum install squid
- 2. 编辑squid配置文件
一般位于/etc/squid/squid.conf
acl localnet src 192.168.0.0/16 acl 意为acess list(访问列表), 代表加入192.168.0.0/16这个类别范围的网络IP到localnet这个访问列表,其中/16是CIDR(Classless Inter-Domain Routing)的写法,类似子网掩码255.255.0.0,也就是右侧16位bit为零的掩码,但是长度自由;
http_access localnet 则允许localnet所定义的访问列表IP来使用此代理。
http_port 3128 定义代理服务的端口, 默认为3128
3. 启动squid 服务
编辑好配置文件后, shell中执行service squid start 即可启动squid服务,squid -f /etc/squid/squid.conf 命令会有一样的效果。
然后即可在对应允许IP段,使用 此HTTP代理服务器,作为代理访问其他的网站!
值得注意点:
1. squid的日志文件 /var/log/squid/access.log 中会记录请求的来源IP地址,带有很多提示信息。 如果对应请求被拒绝,将被对应被拒绝的IP地址,放入允许访问列表acl中即可;对于一个新来的IP地址,acl的的允许、拒绝过程是顺序执行。
2. 另外,错误码407:代表验证 Proxy 用用户名、密码不正确; 错误码403:代表请求没有权限,代理服务被拒绝,一般对应acl中配置的不允许此IP;