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 代理服务器中常用的正向和反向代理,这种代理服务器在网络中很普遍。
来源: http://www.bubuko.com/infodetail-2444606.html