linux初学者-squid代理篇

来源:互联网 发布:linux加入组 编辑:程序博客网 时间:2024/06/05 15:51

        Squid代理服务器是一种缓存服务器,一般分为正向代理和反向代理。

        1、正向代理

        客户端因为网络或者其他的问题,不能访问到一台Apache服务器,如果要访问到,则需要通过一台中间的代理服务器,这就是Squid的正向代理。

        Squid代理服务器可以访问到这个Apache服务器,并且缓存访问到的内容,再将缓存的内容给客户端看。

        为了演示需要,本文中主机"double"有两个网卡,一个IP为"172.25.254.202",一个IP为"172.25.2.202"。主机"single"的IP为"172.25.2.102"。Apache服务器为"172.25.254.2"。"double"可以访问到Apache,且可以连接到"single"。"single"只能连接到"double",不能访问到Apache。


        本文中的Squid代理服务器为"double",以使用"yum install squid -y"装好Squid服务,为了方便,直接关闭防火墙。

        正向代理服务器的配置如下:

        Squid服务器端配置。编辑Squid的配置文件"/etc/squid/squid.conf",将第56行的"deny"改为"allow"。将第62行的注释去掉。完成后重启服务。


        在客户端配置。在客户端打开浏览器"firefox",点击左上角的"Edit"下的"Perferences",点击最后的"Advanced"下的"Network",在"Connetion"后点击"Settings"。按照下图输入IP和端口号,IP是Squid服务器中和自己一个网段的IP,端口号是3128。


        完成上述配置后,在"single"客户端的浏览器中重新输入"172.25.254.2",就可以看到这个网页了。


        正向代理客户端访问的是Squid服务器的缓存,适用于客户端不能直接访问目标主页,需要一个中间服务器Squid。

       2、反向代理

        反向代理是客户端访问的目标是Squid服务器,Squid服务器通过访问有Apache的主机并缓存其网页内容,再反馈给客户端,客户端看到的依旧是Squid服务器的缓存,但是与正向代理不同的是,反向代理中客户端并不知道有Apache主机的存在,而直接访问Squid服务器,而且客户端不需要自己进行设置。反向代理通常用于Apache的访问加速和减小Apache主机的访问压力。

        反向代理服务器的配置如下:

        Squid服务器端配置。编辑配置文件"/etc/squid/squid.conf",将第59行的"3128"改为"80",并在后面加上"vhost vport",在第58行添加"cache_peer 172.25.254.2 parent 80 0 proxy-only"。完成后重启"squid"服务。


        反向代理不需要在客户端进行配置。

        需要注意的是Squid服务器上并没有Apache。

        完成上述配置后,在客户端的浏览器中,直接输入要访问的Squid服务器"172.25.2.202",则可以看到Apache主机"172.25.254.2"的主页。


        上述就是Squid代理服务器中常用的正向和反向代理,这种代理服务器在网络中很普遍。