在Microsoft CDN中缓存授权内容的配置咨询
核心原理
Microsoft CDN默认会将带Authorization请求头的请求标记为不可缓存(对应响应头X-Cache: CONFIG_NOCACHE),这是出于安全考虑的默认策略。要实现无论是否携带Authorization头都缓存内容,需要通过自定义缓存规则覆盖这一默认行为。
具体配置步骤
- 进入Microsoft CDN管理控制台,找到目标CDN端点的缓存规则模块
- 添加一条自定义缓存规则,设置优先级为高于默认规则(数值越小优先级越高)
- 匹配路径设置为
*(或你需要缓存的特定路径) - 在缓存行为中选择忽略指定请求头,将
Authorization加入忽略列表 - 缓存时长可选择沿用源站的
Cache-Control头,或手动设置为6000秒(和源站一致)
验证方法
配置生效后(通常需数分钟),携带Authorization: Bearer <token>请求CDN端点:
- 检查响应头
X-Cache,应返回HIT(二次请求)或MISS(首次请求),而非CONFIG_NOCACHE - 确认
Cache-Control头保持public,max-age=6000
重要注意事项
- 仅适用于非个性化公共内容:忽略
Authorization头缓存后,所有授权用户会共享同一缓存内容,如果你的服务返回内容和用户令牌关联(比如用户专属数据),会导致内容展示错误或泄露 - 确保无高优先级规则冲突:如果有其他优先级更高的缓存规则,可能会覆盖此配置
- 必要时手动刷新缓存:若之前已有未缓存的目标内容,可手动触发CDN缓存刷新以应用新规则
内容的提问来源于stack exchange,提问作者Min0
相关产品推荐
相关产品推荐

