1

我们使用 Microsoft 的 Azure CDN 和自定义域(启用 HTTPS)在 WebApp 中提供内容。

缓存规则行为设置为“缓存每个唯一的 URL”,我们使用规则引擎来定义缓存规则。默认规则是“如果缺少则设置”,持续时间为 1 天,然后是 URL 路径的特定规则,以“/img”开头,其中行为设置为“覆盖”,持续时间为 7 天。

假设 URL 是https://my-application.example.com,它重定向到https://my-application-cdn.azureedge.net(指向https://my-application-webapp.azurewebsites.net) .

今天我们安装了应用程序的更新,我需要清除 CDN。我在 Azure 门户中单击“全部清除”并等待操作完成。https://my-application-cdn.azureedge.net/内容已被清除 [它显示了新版本的网页],但https://my-application.example.com/仍然显示旧版本网页。

我等了几分钟,用不同的浏览器测试,然后让我在其他城市的同事测试。它在任何地方都不起作用。最后我重新点击“Purge”并指定“/”和“/*”作为路径,然后我修改了默认路径的缓存行为,将其设置为“绕过缓存”(所以现在除了“ /img”文件)。我不知道哪个操作是正确的,但最后我设法让https://my-application.example.com/提供新内容。但是在大约 15 分钟内,我们提供了类似部分更新的内容。我们以前从未遇到过这个问题(我们曾经使用 NGINX 缓存)。

我对这一切感到很困惑。我曾经认为 DNS CNAME 条目是一个简单的重定向,但最终好像有两个单独的缓存:一个用于https://my-application-cdn.azureedge.net/,另一个用于https://my- application.example.com/。这是真的?如果是这样,有没有办法让它每次都工作?

4

0 回答 0