You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure App Services的CDN是否支持配置Content-Security-Policy-Report-Only头

配置可行性及失败原因

可以正常部署Content-Security-Policy-Report-Only响应头,你遇到的配置失败通常为两类核心原因:

  • 部分Azure CDN SKU(如Verizon Premium、Akamai标准层)默认会校验CSP头的语法格式,不允许空值,同时如果填写的规则包含未转义的特殊字符、不符合RFC规范的指令也会直接拦截配置
  • 若你开启了App Service本身的响应头配置、或者CDN规则引擎中存在优先级更高的头覆盖/删除规则,也会导致配置不生效
正确配置步骤

方法1:规则引擎配置(兼容性最高)

  • 进入对应CDN配置文件的「规则引擎」页面,新增规则
  • 触发条件选择请求路径 → 任意(也可按业务需求指定匹配范围)
  • 操作选择修改响应头 → 追加
  • 头部名称固定填Content-Security-Policy-Report-Only
  • 头部值按照业务需求填写规范值,示例参考:default-src 'self'; script-src 'self' 'unsafe-inline'; report-uri /csp-violation-report-endpoint
  • 保存规则后等待5-10分钟CDN节点同步即可生效

方法2:全局自定义响应头配置

  • 进入CDN配置文件的「缓存规则」→「自定义响应头」板块
  • 操作选择添加,头部名称填写Content-Security-Policy-Report-Only,填入符合规范的头部值
  • 注意不要填写空值,该头部规范要求必须携带至少一个指令,空值本身不符合RFC标准,会被Azure校验拦截
常见校验失败排查点
  • 检查CSP指令中的单引号是否为英文半角格式,中文引号会触发语法校验失败
  • 若你使用了unsafe-inline、unsafe-eval等特殊指令,不需要额外加转义符,直接按标准语法填写即可
  • 排除App Service本身是否已经返回了同名响应头,若存在需将CDN操作改为覆盖而不是追加

内容的提问来源于stack exchange,提问作者Peter PitLock

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 23:36:07