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

本文深入探讨了Squid反向代理服务器如何在客户端请求访问WEB服务时发挥作用,包括其缓存机制及配置细节。重点介绍了四个关键HTTP头标记的作用,并提供了详细的配置文件示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值