Apache/Debian环境下配置CSP报header set参数过多错误如何解决
CSP配置报错问题说明
- 拼写错误
你写的响应头名称Content-Secruity-Policy存在拼写错误,正确的CSP响应头名称是Content-Security-Policy,拼写错误会导致后续规则即便配置正确也无法生效。 - Apache Header指令格式错误
Apache的Header set语法要求:如果响应头的值包含空格,必须用双引号将整个值完全包裹,否则Apache会把空格分隔的每一段内容识别为独立参数,直接触发header set has too many arguments报错,这是你本次配置报错的核心原因。 - 规则覆盖不全
你当前仅配置了style-src样式资源加载规则,如果你需要同时允许脚本资源按相同规则加载,还需要补充script-src相关配置才能满足需求。
正确配置参考
同时允许自身域名、指定CDN的样式和脚本资源加载的正确配置如下:
Header set Content-Security-Policy "style-src 'self' code.ionicframework.com; script-src 'self' code.ionicframework.com;"
如果后续需要新增其他资源类型或者可信来源,直接在双引号内部用分号分隔新增对应规则即可,修改配置后再次执行apachectl configtest即可正常通过语法校验。
内容的提问来源于stack exchange,提问作者user17083646
相关产品推荐
相关产品推荐

