使用Squid配置反向代理服务器

来源:51CTO 作者:51CTO
  

Squid作为反向代理服务器使用时,其工作原理为:客户端请求访问 WEB 服务时,DNS 将访问的域名解析为 Squid 反向代理服务器的 IP 地址,这样客户端的 URL 请求将被发送到反向代理服务器。如果 Squid 反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端,否则反向代理服务器将向后台的 WEB 服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用。

Squid反向代理一般只缓存可缓冲的数据(比如 html 网页和图片等),而一些 CGI 脚本程序或者 ASP、JSP 之类的动态程序默认不缓存。它根据从 WEB 服务器返回的 HTTP 头标记来缓冲静态页面。有四个最重要HTTP头标记:

Last-Modified:告诉反向代理页面什么时间被修改

Expires:告诉反向代理页面什么时间应该从缓冲区中删除

Cache-Control:告诉反向代理页面是否应该被缓冲

Pragma:用来包含实现特定的指令,最常用的是Pragma:no-cache

要配置反向代理服务器,需要在squid的主配置文件里面添加如下内容:

  1. http_port 80 accel vhost vport  
  2. cache_peer 192.172.1.133 parent 80 0 no-query originserver   
  3. cache_peer_domain www.test.com 192.172.1.133  
  4. acl sites dstdomain www.test.com  
  5. http_access allow sites  
  6. http_access deny all  
  7.  
  8. cache_dir ufs /var/spool/squid3 100 16 256  
  9. cache_mgr yourmail@somesite.com  
  10. cache_mem 64 MB  
  11. maximum_object_size_in_memory 1028 KB  
  12. access_log /var/log/squid3/access.log squid  

上述配置的详细解释如下:

http_port 80 accel vhost vpor:指定Squid所服务的端口为80,vhost和vport指的是所采用的虚拟主机的方式:基于IP地址和基于端口的,详细请参见本书对Apache Web服务器的介绍;

cache_peer 192.172.1.133 parent 80 0 no-query originserver:指定真实Web Server的IP地址;

cache_peer_domain www.test.com 192.172.1.133:告诉反向代理服务器,当客户端有对www.test.com的访问请求时,需要从真实Web Server 192.172.1.133上取得数据;

acl sites dstdomain www.test.com:定义客户端能够通过反向代理服务器访问的主机;

http_access allow sites、http_access deny all:限制客户端通过反向代理服务器能够访问的范围;

cache_dir ufs /var/spool/squid3 100 16 256、cache_mgr yourmail@somesite.com、cache_mem 64 MB、maximum_object_size_in_memory 1028 KB、access_log /var/log/squid3/access.log squid:代理服务器的常规配置,如本章前面几节所述

 

 


时间:2011-10-27 11:19 来源:51CTO 作者:51CTO 原文链接

好文,顶一下
(1)
100%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量