我正在尝试解决一个缓存问题,确实让我挠头。
我们有一个内置于Docker的Laravel应用,该应用已部署到Staging and Production。
资产是使用使用Webpack的Laravel Mix构建的。我们所有人 文件已版本化。
暂存处于调试模式,而生产暂不处于调试模式。
分段是负载均衡器后面的单个实例,生产是 负载均衡器后面有两个实例。
两者都使用相同的Nginx配置
两个站点都使用Cloud Front,并且具有相同的缓存行为。 Origin Cache标头不转发cookie,白名单使用ID查询字符串
当我们部署到暂存时,一切都会按预期进行。
当我们部署到生产环境时,CSS和Javascript会与以前的版本一起缓存。
我检查了资产散列,它们是相同的,都受到了来自云端的打击。
当我下载CSS文件并进行差异化生产以表明它们不相同时。
真正让我感到困惑的是,当我在生产环境中更改缓存键时,我可以看到从云前端错过的机会,而从云前端获得重新加载的机会。下载和差异分期以及制作,它们现在是相同的。
我不知道发生了什么或在哪里看,任何想法将不胜感激!