Content Security Policy的错误。根据错误提示,nginx拒绝应用内联样式,因为它违反了内容安全策略(Content Security Policy)。内容安全策略是一种浏览器机制,用于防止潜在的安全漏洞,通过限制从外部来源加载的资源(如脚本、样式和图像),以减少攻击面。
要解决此问题,你可以采取以下步骤:
1. 确保你的网站的配置文件中有正确的内容安全策略头部。可以在nginx的配置文件中添加以下头部:
add_header Content-Security-Policy "default-src 'self'";
2. 检查你的网页代码,确保没有内联样式。内联样式是指将CSS样式写在HTML标签的style属性中。这种情况下,你可以将内联样式移动到外部CSS文件中,并通过链接引用该文件。
3. 如果你的网站依赖于内联样式,你可以在配置文件中修改内容安全策略,允许内联样式。例如:
add_header Content-Security-Policy "default-src 'self' 'unsafe-inline'";
但需要注意的是,允许内联样式可能会降低内容安全性,因此请谨慎使用。
重启nginx服务器后,这个错误应该就会解决。
question
Nginx添加CSP响应头设置之后报错:
Refused to load the font 'data:application/x-font-woff;charset=utf-8;base64,d09G…’ because it violates the following Content Security Policy directive: “default-src ‘self’”. Note that ‘font-src’ was not explicitly set, so ‘default-src’ is used as a fallback.
reason
嵌入在js中font-src是data-base64字符串类型,而nginx CSP配置没有相关设置,导致被浏览器阻拦
solution
CSP内容追加对font的配置 font-src ‘self’ data:;
完整配置
add_header Content-Security-Policy "default-src 'self' 'unsafe-inline';img-src 'self' 'unsafe-inline' data:; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline';connect-src 'self' 'unsafe-inline';font-src 'self' data:;";
表示js img js css font 支持同域名地址和行内嵌入
效果:
配置前:
配置后: