我在一个服务器群中使用捆绑和最小化,其中有一个新旧服务器的交叉期。
我的问题是,旧的服务器正在缓存新的捆绑包缓存buster URL的内容。
例如,新超文本标记语言与新捆绑包URL一起缓存:
<script src="/bundle.css?v=RBgbF6A6cUEuJSPaiaHhywGqT7eH1aP8JvAYFgKh"></script>
然后向尚未使用新的代码进行更新的旧服务器发出请求,然后将其缓存。
随后对新包URL的任何调用都将返回旧代码。
因此,有没有一种方法可以检查包的内容是否与散列的缓存终结器匹配?例如,如果它没有抛出404。
使用上面的例子,当请求返回到包的旧服务器时,它将检查包的内容,生成内容散列,并将其与querystring进行比较。
在这种情况下,缓存缓冲器将与实际的内容散列不匹配,并且将返回404。
最终,用户将使用捆绑包请求访问新的服务器,正确的内容将被缓存。
发布于 2015-08-18 21:00:00
我们自己很快就会遇到同样的问题,但我们一直坚持只更新两个域(将服务器一分为二,这样一次运行的版本不会超过一个)。
据我所知,有4种可能的选择:
这是你真正看到的问题,还是假设性的?除非您的站点流量非常大,并且您的部署需要几分钟的时间,否则您不太可能看到这种情况。您需要小心返回404,因为有时错误的样式表总比没有样式表要好。
https://stackoverflow.com/questions/31535879
复制相似问题