如何让 Squid 不缓存具有某些扩展名的文件?

如何让 Squid 不缓存具有某些扩展名的文件?

我找到了有关如何防止 Squid 缓存域/IP 地址的信息,但这并不是我想要的。我想阻止它缓存.jnlp。罐文件。

核心问题是,当我将更新推送到我们的服务器时,使用 squid 代理的用户可能几天都无法获得更新版本(显然 squid 需要这么长时间才能发现文件已更改)。也许我错过了更简单的解决方案?

答案1

你的配置文件中可能存在类似这样的情况:

acl DENYZIP urlpath_regex \.zip
no_cache deny DENYZIP

当然,您可以制作一个更复杂的正则表达式来处理多个文件(并相应地更改 acl 名称)。

答案2

我记得你通过在文件中设置refresh_pattern规则来做到这一点squid.conf。这会通过正则表达式匹配 URL 并为匹配设置缓存策略。参考手册对此进行了描述这里。

请注意,refresh_pattern 规则仅适用于没有明确到期时间的响应。

答案3

如果你的鱿鱼版3.3 及更高版本那么你应该

acl DENYZIP urlpath_regex \.zip
cache deny DENYZIP

因为无缓存指令被取代缓存

相关内容