【发布时间】:2018-07-26 11:32:57
【问题描述】:
我们在服务 HTML+CSS 的 10 个 Nginx 服务器前使用 Varnish。 CSS url 的格式如下:“file-HASH.css”(带有 HASH 内容校验和)。
当我们部署(从版本 A 到 B)应用程序时,这需要一些时间,在此期间(几秒钟),最终用户可以下载 2 个版本的 HTML:
- 版本 A => “file-A.css”(已在清漆缓存中)
- 版本 B => “file-B.css”(仅存在于某些后端)
版本 A 没问题:file-A.css 被缓存了。
版本 B 的问题:Varnish 可以从尚未部署的后端获取文件!然后返回 404。
我看到了一些解决方案:
- 重试直到找到 css 文件 => 可以创建 ddos
- 通过 varnishadm 禁用部署期间未部署的后端
- 使用单个后端来存储资产 => 不是 H.A.
任何输入?
【问题讨论】:
标签: deployment assets varnish varnish-vcl