2.2-squid反向代理

反向代理配置过程其实和前面的正向代理没有什么太大区别, 唯一的区别是配置文件中

一个地方需要改动一下。需要把:

http_port 3128

改为:

http_port 80 accel vhost vport

然后再增加你要代理的后端真实服务器信息:

cache_peer 180.97.33.108 parent 80 0 originserver name=a

cache_peer 101.226.103.106 parent 80 0 originserver name=b

cache_peer_domain a www.qq.com

cache_peer_domain b www.baidu.com

因为咱们之前没有配置网站信息,所以就拿 qq.com 和 baidu.com 来做个例子吧。其中

cache_peer 为配置后端的服务器 ip 以及端口,name 后边为要配置的域名,这里和后面的

cache_peer_domain 相对应。实际的应用中,ip 大多为内外 ip,而域名也许会有多个,如果

squid 要代理一台 web 上的所有域名,那么就写成这样:

cache_peer 192.168.10.111 parent 80 0 originserver

后面连 cache_peer_domain 也省了。

反向代理主要用于缓存静态项, 因为诸多静态项目尤其是图片、 流媒体等比较耗费带宽,

在中国, 联通网访问电信的资源本例就慢, 如果再去访问大流量的图片、 流媒体那更会慢了,

所以如果在联通网配置一个 Squid 反向代理,让联通客户端直接访问这个联通 Squid,而这

些静态项已经被缓存在了 Squid 上,这样就大大加快了访问速度。也许你听说过 CDN, 其实

它的设计原理就是这样的思路。好了,我们再测一测反向代理吧。

因为修改了配置文件,所以需要重启一下 squid:

# /etc/init.d/squid restart

# curl -xlocalhost:80 http://www.baidu.com/

# curl -xlocalhost:80 http://www.qq.com/

# curl -xlocalhost:80 http://www.sina.com/

你会发现,baidu.com 和 qq.com 都能正常访问,然而 sina.com 访问 503 了,这是因为我

们并没有加 sina.com 的相关设置。


注意:因为只绑定了一个IP和域名,并且host中也指到反向代理服务器。所以可以访问。但是其他域名如:teiba.baidu.com没有再配置中配置,而且也没有再host中指定,所以访问的是真实的地址,没有通过代理,可以访问。如果host指定,配置中没有配置相应的配置,走代理是不通的。


你可能感兴趣的:(2.2-squid反向代理)