鱿鱼caching问题

我想创build一个cron作业,将删除我们的鱿鱼caching并重新启动它。 我这样做的原因是,当我上传一个新的构buildJavaScript代码到我们的networking服务器,当我浏览我们的应用程序在浏览器指向我们的鱿鱼,即使我已经清除我的浏览器的caching,我仍然得到旧的代码。

它清除我们的鱿鱼的caching并重新启动后开始工作。

我真的需要一个工作来做到这一点,或者我只是缺less一个在我们的鱿鱼configuration? 当然,我们仍然需要caching,但是当新的Web应用程序构build已经上传时,不会。

检查你的squid.conf,以确保没有refresh_pattern行告诉Squid违反/忽略HTTPcaching指令。 这应该是你需要做的一切。 Squid将在需要时默认进行重新validation(REFRESH / IMS)检查,其余的由原始服务器决定。

确保您的服务器生成最后修改,并在每个响应如果可能的ETag标头。 超过3.5.21的鱿鱼需要重新validation。

如果您的更改是以已知的时间间隔进行的,则caching控制:max-age = N,应该发出Expires头文件,告诉Squid下一次更改何时发生。 否则,如果时序是不可预知的,则Cache-Control:应该发射no-cache头。

当内容没有改变时,您还需要确保您的服务器正确地生成304响应。 如果没有,请查看您的服务器文档以了解如何解决该问题。

您需要检查Squid是否正确configuration,以检查每个caching请求的上游,并在每个请求上设置HTTP If-Modified-Since标头。

如果上游服务器发送304 Not Modified响应,则Squid可以发送现有的caching版本。 如果上游服务器回复新版本,则Squid可以更新其caching并发送新版本的文件。