doc*_*taj 2 caching cdn cache-control azure azure-cdn
几天前我设置了一个 Azure Verizon Premium CDN,如下所示:
来源:Azure web 应用程序(.NET MVC 5 网站)
设置:自定义域,无地理过滤
缓存规则:标准缓存(不关心参数)
压缩:启用
优化:动态站点加速
协议:HTTP、HTTPS ,自定义域 HTTPS
规则:通过规则引擎强制 HTTPS(如果请求方案 = http,301 重定向到 https://{customdomain}/$1)
所以 - 这个 CDN 现在已经运行了几天,但是 ADN 报告说几乎 100% (99.36%) 的缓存状态是“CONFIG_NOCACHE”(描述:“对象被配置为从不按照位于边缘服务器上的客户特定配置,因此响应是通过源服务器提供的。”)其中一些(0.64%)是“无”(描述:“针对此请求完全绕过缓存。例如,请求立即被令牌身份验证模块拒绝,或者客户端请求方法使用了不可缓存的请求方法,例如“PUT”。)此外,在“缓存命中”报告中,它表示“0 命中,0 未命中”对于每个日。没有任何东西通过“HTTP Large”端,只有“ADN”。
我在四处搜索时找不到这些确切的消息,但我已经尝试过:
所以,“NOCACHE”的消息说这是一个节点配置问题......但我什至还没有真正配置它!我很困惑。这也可能是应用程序问题,但我觉得我已经尝试了所有不同的“缓存控制”排列。这是我希望缓存的一个文件的示例:
最终,我希望大多数请求都被缓存,所以我会看到大多数请求是“TCP Hit”。也许这是不正确的?在此先感谢您的帮助!
所以,我最终想通了这个问题。显然,Azure Verzion Premium CDN ADN 平台默认启用了“绕过缓存”。
要禁用此行为,您需要为缓存规则配置其他功能。
例子:
IF Always
特性:
Bypass Cache Disabled
Force Internal Max-Age Response 200 864000 Seconds
Ignore Origin No-Cache 200