Azure Verizon CDN - 100%缓存CONFIG_NOCACHE
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Azure Verizon CDN - 100%缓存CONFIG_NOCACHE相关的知识,希望对你有一定的参考价值。
我几天前设置了一个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%)是”无“(描述:”该缓存完全被绕过此请求。例如,请求被令牌auth模块立即拒绝,或者客户端请求方法使用了不可缓存的请求方法,例如“PUT”。“)此外,在”Cache Hit“报告中,它表示每次”0次点击,0次未命中“天。没有任何东西通过“HTTP大”方面,只有“ADN”。
在搜索时我找不到这些确切的消息,但我尝试过:
- 将缓存控制头更新为max-age,public(即:cache-control:public,max-age = 1209600)
- 将缓存控制标头更新为max-age(缓存控制:max-age = 1209600)
- 将过期标题更新为将来的日期方式(过期日期:星期二,2038年1月19日03:14:07 GMT)
- 使用不同的浏览器,因此请求缓存信息不同。在Chrome中,我的浏览器中的请求是“cache-control:no-cache”。在Firefox中,它会说“Cache-Control:max-age = 0”。无论如何,我认为网站上的用户不会有这些相同的设置,对吧?
- 刷新页面很多次,并查看实时报告以查看命中/未命中/缓存状态,并显示相同的内容 - 几乎所有内容的CONFIG_NOCACHE。
- 尝试在https://www.dotcom-tools.com/website-speed-test.aspx上进行“全球”速度测试,但结果相同 - 一堆“NOCACHE”命中。
- 尝试添加AND规则以将内部和外部最大年龄设置为864000秒(10天)。
- 尝试添加ADN规则以忽略“no-cache”请求并返回缓存的结果。
所以,“NOCACHE”的消息说它是一个节点配置问题......但我还没有真正配置它!我很困惑。它也可能是一个应用程序问题,但我觉得我已经尝试了所有不同的“缓存控制”排列。这是我希望缓存的一个文件的示例:
最终,我希望大多数请求都被缓存,所以我会看到大多数请求都是“TCP命中”。也许那是不正确的?在此先感谢您的帮助!
所以,我最终想出了这个问题。显然,Azure Verzion Premium CDN ADN平台默认启用“旁路缓存”。
要禁用此行为,您需要为缓存规则配置其他功能。
例:
如果总是 特征: 禁用高速缓存禁用 强制内部最大年龄响应200 864000秒 忽略原始无缓存200
以上是关于Azure Verizon CDN - 100%缓存CONFIG_NOCACHE的主要内容,如果未能解决你的问题,请参考以下文章
json 切换Verizon CDN以获取静态资产(CSS文件,图像,可下载文件)