如何使squid代理服务器缓存响应并在标头中包含变化:*?

问题描述 投票:0回答:2

我正在构建一个系统,在一次运行中请求相同的 URL 时提供相同的页面(即使它不再新鲜),这可能需要大约一个小时,所以我尝试使用鱿鱼缓存来缓存所有内容。我将其添加到squid.conf中:

refresh_pattern ^http: 600000 100% 700000 覆盖过期 覆盖-lastmod 重新加载到-ims 忽略重新加载 忽略无缓存 忽略私有 忽略无存储 忽略必须重新验证 忽略身份验证

但是,当 HTTP 响应标头中包含“Vary: *”时,它似乎不起作用。例如,我无法缓存 http://stackoverflow.com。我正在使用鱿鱼版本 3.1.19,如果这很重要的话。

有办法解决这个问题吗?

squid http-caching
2个回答
0
投票

“Vary: *”本质上意味着HTTP请求中除标头之外还有其他因素决定了请求的唯一性(例如客户端IP地址等),因此中间缓存(squid)无法真正可靠地缓存。

不幸的是,Squid 没有没有机制来忽略 Vary 标头,无论是完全忽略还是选择标头。我自己也遇到这个问题了


0
投票

请尝试此设置

vary_ignore_expire on

参考: http://www.squid-cache.org/Doc/config/vary_ignore_expire/

© www.soinside.com 2019 - 2024. All rights reserved.