Azure Verizon CDN - 100% 缓存 CONFIG_NOCACHE

Azure Verizon CDN - 100% Cache CONFIG_NOCACHE

我几天前设置了一个 Azure Verizon Premium CDN 如下:

来源:一个 Azure 网络应用程序(.NET MVC 5 网站)
设置:自定义域,无geo-filtering
缓存规则:standard-cache(不关心参数)
压缩:启用
优化:动态站点加速
协议:HTTP、HTTPS、自定义域 HTTPS
规则:通过规则引擎强制使用 HTTPS(如果请求方案 = http,301 重定向到 https://{customdomain}/$1)

所以 - 这个 CDN 已经 运行 几天了,但是 ADN 报告说近 100% (99.36%) 的缓存状态是 "CONFIG_NOCACHE"(描述:"The object was configured to never be cached in accordance with customer-specific configurations residing on the edge servers, so the response was served via the origin server.") 其中一些 (0.64%) 是 "NONE" (描述: "The cache was bypassed entirely for this request. For instance, the request was immediately rejected by the token auth module, or the client request method used an uncacheable request method such as "PUT".") 另外,在 "Cache Hit" 报告中,它说“0 hits, 0错过”的每一天。 "HTTP Large" 侧什么也没有,只有 "ADN".

我四处搜索时找不到这些确切的消息,但我试过了:

因此,"NOCACHE" 的消息说这是一个节点配置问题...但我什至还没有真正配置它!我很混乱。这也可能是一个应用程序问题,但我觉得我已经尝试了所有可能的 "cache-control" 的不同排列。这是我希望缓存的一个文件的示例:

最终,我希望大部分请求都被缓存,所以我会看到大部分请求是 "TCP Hit"。也许这是不正确的?预先感谢您的帮助!

所以,我终于想通了这个问题。显然 Azure Verzion Premium CDN ADN 平台默认启用了 "bypass cache"。

要禁用此行为,您需要为缓存规则配置其他功能。

示例:

如果总是
特点:
绕过缓存已禁用
强制内部 Max-Age 响应 200 864000 秒
忽略原始无缓存 200