blog » Squid代理技术 » 404的http头在squid中的处理
404的http头在squid中的处理
404的网页在squid中也会被缓存,会出现TCP_NEGATIVE_HIT:NONE www.php-oa.com这样的日志,可以用
negative_ttl 的参数来控制时间,默认5分钟,有点长,建议小点
blog » Squid代理技术 » 404的http头在squid中的处理
404的网页在squid中也会被缓存,会出现TCP_NEGATIVE_HIT:NONE www.php-oa.com这样的日志,可以用
negative_ttl 的参数来控制时间,默认5分钟,有点长,建议小点
由于页面问题或web服务器临时不可用,会导致squid缓存一个错误信息(400,500等错误),正好是首页出错并被老板发现了。。。。
如何不缓存这些错误页面呢?
要想不缓存错误页面据说可以设成negative_ttl 1 second
其实在squid3.0中直接可以让squid不缓存400和302之类的网页。但是squid3.0还非常不稳定,不建议使用,最好是能给404和302之类的网页加直接过期的http头
将negative_ttl 1 second去掉,
为何不行?难道apache的规则,优先与网页添加的头,apache的头部规则将网页加的这条规则覆盖掉了?
我用squid 3.0 stable8版本的,在squid.conf文件里设置了negative_ttl 1 second
发现还是一样缓存了404的网页,请问直接能404 403 302这种类型加过期的http头怎么实现呢?
可以通过以下的办法不缓存404的页面,
acl broken302 http_status 400-404 302
http_access deny Broken302
根据我的测试,程序优先级最好,然后是apache.negative_ttl 设置好象小于60就不会生效 ,你可以测试一下,有结果讲讲.
在3.0中可以使用http_status,向楼上讲的那样来配.但我没用过squid3.0