Squid 2.6 多主机反向代理心得

描述不多,关键看配置:rolleyes:
Squid中文权威指南
http://home.arcor.de/jeffpang/squid/

目标:希望对 mail.test.com www.test1.com www.test2.com 进行反向代理。
服务器:192.168.15.90:80
Ubuntu + apache + squid

服务器:192.168.15.88:80
Windows2003 + IIS6

apache 的关键配置:
因为要对外部实现反向透明代理,所以apache不能再
在外网IP的80端口服务,我将它设置到127.0.0.1的80端口
Listen 127.0.0.1:80

Squid 关键配置
http_port 192.168.15.90:80 vhost vport defaultsite=192.168.15.88
hosts_file /etc/hosts
acl myip dst [/SIZE]192.168.15.88 127.0.0.1 // 前者是IIS 服务器监听ip地址,后者是apache监听ip地址
[/SIZE]http_access deny !myip // 如果域名不是指向服务器的ip就直接deny,防止别人做为免费代理[/COLOR][/SIZE]
acl Safe_ports port 80                    # http
http_access deny !Safe_ports
#acl all src 0.0.0.0/0.0.0.0
#http_access allow all // 不行就取消这些注释,进一步配置
icp_access allow all
visible_hostname 192.168.15.90
always_direct allow all

host 文件:
192.168.15.88 mail.test.com
192.168.15.88 www.test1.com
127.0.0.1           www.test2.com

使用cache_peer 指令 和 使用hosts文件效果是一样的。[/COLOR]
[/COLOR]
数据走向:
www.test1.com => 192.168.15.90:80(dns查询) => 192.168.15.88:80(Hosts文件指向)
www.test2.com => 192.168.15.90:80(dns查询) => 127.0.0.1:80(Hosts文件指向)