/ 中存储网

使用squid-2.6.STABLE23设置Web反向代理加速

2013-12-27 10:48:01 来源:kejihao

Squid是一种在Linux系统下使用的优秀的代理服务器软件。

squid不仅可用在Linux系统上,还可以用在AIX、Digital Unix、FreeBSD、HP-UX、Irix、NetBSD、Nextstep、SCO和Solaris等系统上。   

Squid与Linux下其它的代理软件如Apache、Socks、TIS FWTK和delegate相比,下载安装简单,配置简单灵活,支持缓存和多种协议。用ipchains+Squid的解决方案,就可以获得通过缓存高性能的同时能够无缝的访问Internet。

Squid是一个缓存internet数据的一个软件,它接收用户的下载申请,并自动处理所下载的数据。也就是说,当一个用户想要下载一个主页时,它向Squid发出一个申请,要Squid替它下载,然后Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid把保存的备份立即传给用户,使用户觉得速度相当快。

2.6相对2.5有了一些改变

1. 下载:

2. 安装: 

wwwtest137#tar xzvf squid-2.6.STABLE1-20060726.tar.gz

wwwtest137#cd squid-2.6.STABLE1-20060726

wwwtest137#configure --prefix=/usr/local/squid --enable-dlmalloc --with-pthreads --enable-poll --disable-internal-dns --enable-stacktrace --enable-removal-policies="heap,lru" --enable-delay-pools --enable-storeio="aufs,coss,diskd,ufs"

wwwtest137#make

wwwtest137#make install

安装完成了。

  因为是测试的,所以相关的参数可能并不是比较完善的,但是使用是没有问题的。

3. 配置:以下是部分关键配置,其他与2.5的相同

#squid.conf

#服务器IP 192.168.1.1

#监听服务器的80端口,透明代理,支持域名和IP的虚拟主机

http_port 192.168.1.1:80 transparent vhost vport

#限制同一IP客户端的最大连接数

acl OverConnLimit maxconn 16

http_access deny OverConnLimit

#防止天涯盗链,转嫁给百度

acl tianya referer_regex -i tianya

http_access deny tianya

deny_info http://www.baidu.com/logs.gif tianya

#防止被人利用为HTTP代理,设置允许访问的IP地址

acl myip dst 192.168.1.1

http_access deny !myip

#防止百度机器人爬死服务器

acl AntiBaidu req_header User-Agent Baiduspider

http_access deny AntiBaidu

#允许本地管理

acl Manager proto cache_object

acl Localhost src 127.0.0.1 192.168.1.1

http_access allow Manager Localhost

http_access deny Manager

#仅仅允许80端口的代理

acl Safe_ports port 80 # http

http_access deny !Safe_ports

http_access allow all

#Squid信息设置

visible_hostname www.test137.com

cache_mgr [email protected]

#基本设置

cache_effective_user squid

cache_effective_group squid

tcp_recv_bufsize 65535 bytes

#2.5的反向代理加速配置

#httpd_accel_host 127.0.0.1

#httpd_accel_port 80

#httpd_accel_single_host on

#httpd_accel_uses_host_header on

#httpd_accel_with_proxy on

#2.6的反向代理加速配置

#代理到本机的80端口的服务,仅仅做为原始内容服务器

cache_peer 127.0.0.1 parent 80 0 no-query originserver

#错误文档

error_directory /usr/local/squid/share/errors/Simplify_Chinese

#单台使用,不使用该功能

icp_port 0

4. http服务器配合设置:

http服务器,监听到127.0.0.1的80端口。

5. 数据走向:

访问者=>192.168.1.1:80=>127.0.0.1:80

6. 测试:

/usr/local/squid/sbin/squid -z

/usr/local/squid/sbin/squid -NCd1

  好了,现在访问你的服务器看看,已经好了。

为了测试是否可用,把http服务器给停了,你就可以看到squid2.6的信息了。

另外,我们设置:

SQUID监听外部IP的80端口

HTTP服务器监听本机127.0.0.1的80端口

这样子不用任何防火墙参与,即可完成web反向代理加速。