Proxy 如何验证用作反向代理的Squid是否正常工作?
我们希望降低其中一台web服务器的负载,并且正在使用配置为反向代理的squid运行一些测试 配置如下所示: http_端口80 accel defaultsite=original.server.com cache_peer original.server.com父级80 0无查询原始服务器名称=myAccel acl我们的网站dstdomain.contentpilot.net http_访问允许我们的_站点 缓存\u对等\u访问myAccel允许我们的\u站点 缓存\u对等\u访问myAccel拒绝所有 目前的情况是,服务器几乎一直在返回TCP_MISSProxy 如何验证用作反向代理的Squid是否正常工作?,proxy,reverse-proxy,squid,Proxy,Reverse Proxy,Squid,我们希望降低其中一台web服务器的负载,并且正在使用配置为反向代理的squid运行一些测试 配置如下所示: http_端口80 accel defaultsite=original.server.com cache_peer original.server.com父级80 0无查询原始服务器名称=myAccel acl我们的网站dstdomain.contentpilot.net http_访问允许我们的_站点 缓存\u对等\u访问myAccel允许我们的\u站点 缓存\u对等\u访问myAcc
1238022316.988 86 69.15.30.186 TCP_MISS/200 797 GET http://original.server.com/templates/site/images/topnav_givingback.gif - FIRST_UP_PARENT/myAccel -
1238022317.016 76 69.15.30.186 TCP_MISS/200 706 GET http://original.server.com/templates/site/images/topnav_diversity.gif - FIRST_UP_PARENT/myAccel -
1238022317.158 75 69.15.30.186 TCP_MISS/200 570 GET http://original.server.com/templates/site/images/topnav_careers.gif - FIRST_UP_PARENT/myAccel -
1238022317.344 75 69.15.30.186 TCP_MISS/200 2981 GET http://original.server.com/templates/site/js/home-search-personalization.js - FIRST_UP_PARENT/myAccel -
1238022317.414 85 69.15.30.186 TCP_MISS/200 400 GET http://original.server.com/templates/site/images/submenu_arrow.gif - FIRST_UP_PARENT/myAccel -
1238022317.807 75 69.15.30.186 TCP_MISS/200 2680 GET http://original.server.com/templates/site/js/homeMakeURL.js - FIRST_UP_PARENT/myAccel -
1238022318.666 1401 69.15.30.186 TCP_MISS/200 103167 GET http://original.server.com/portalresource/lookup/wosid/intelliun-2201-301/image2.jpg - FIRST_UP_PARENT/myAccel image/pjpeg
1238022319.057 1938 69.15.30.186 TCP_MISS/200 108021 GET http://original.server.com/portalresource/lookup/wosid/intelliun-2201-301/image1.jpg - FIRST_UP_PARENT/myAccel image/pjpeg
1238022319.367 83 69.15.30.186 TCP_MISS/200 870 GET http://original.server.com/templates/site/images/home_dots.gif - FIRST_UP_PARENT/myAccel -
1238022319.367 80 69.15.30.186 TCP_MISS/200 5052 GET http://original.server.com/templates/site/images/home_search.jpg - FIRST_UP_PARENT/myAccel -
1238022319.368 88 69.15.30.186 TCP_MISS/200 5144 GET http://original.server.com/templates/site/images/home_continue.jpg - FIRST_UP_PARENT/myAccel -
1238022319.368 76 69.15.30.186 TCP_MISS/200 412 GET http://original.server.com/templates/site/js/showFooterBar.js - FIRST_UP_PARENT/myAccel -
1238022319.377 100 69.15.30.186 TCP_MISS/200 399 GET http://original.server.com/templates/site/images/home_arrow.gif - FIRST_UP_PARENT/myAccel -
我们已经尝试删除所有缓存。任何想法。可能是因为我的网站每次都会标记一些不同的内容,即使自上次代理请求后内容没有更改?源服务器(web服务器)会将哪些标题与您的内容一起发送回来?为了能够被squid缓存,我相信您通常必须在响应头中指定Last Modified或ETag。Web服务器通常会自动为静态内容执行此操作,但如果您的内容正在动态服务(即使来自静态源),则您必须确保它们存在,并处理请求头,例如如果修改了,则自,如果不匹配 另外,由于您随后提出的关于会话的问题指出了这个问题,所以在回答中是否出现了“Vary”标题?例如,“Vary:Cookie”告诉缓存内容可以根据请求中的Cookie头而变化:因此静态内容希望删除该内容。但如果存在会话,您的web服务器可能会将其添加到所有请求中,而不管所服务数据的静态/动态性质如何
根据我的经验,对HTTP头进行一些实验以了解其对缓存的影响是非常有益的:我记得发现解决方案并不总是显而易见的。检查firefox中wireshark或firebug返回的头(后者更容易推广,但如果您最终需要,前者将提供更多低级信息) 在响应标题中查找这些项目(单击“Net”视图中的项目展开,并查看请求和响应标题):
- 上次修改日期->如果未设置为过去的合理时间,则不会缓存它
- Etags->如果每次请求相同的项目时都会更改,则将重新获取该项目
- 缓存控制->来自max age=0的客户端的请求(我相信)每次都会请求页面的新副本
- (编辑)Expires头->如果这是在过去设置的(即始终过期),则squid不会缓存它