CSP 响应标头导致 Firefox 中止网站加载

CSP 响应标头导致 Firefox 中止网站加载

只有在 Firefox(最新版和旧版)中,我的一个网站才会收到状态代码 200 的响应,但 Firefox 会直接中止,没有任何错误消息。服务器日志也没有显示任何问题。通过检查设置,我将其归结为 CSP 标头。

有人看到我遗漏了什么吗?

add_header Content-Security-Policy "default-src 'self';
        script-src 'self' data: 'unsafe-inline' 'unsafe-eval' *.$server_name *.google-analytics.com *.googletagmanager.com *.google.com *.googleapis.com *.videopress.com;
        style-src 'self' 'unsafe-inline' *.$server_name *.googleapis.com *.google.com *.bootstrapcdn.com *.jquery.com;
        img-src 'self' data: *.$server_name *.google.com *.google-analytics.com *.gstatic.com *.googleapis.com *.initiative-s.de *.gravatar.com *.w.org *.creativecommons.org  *.jquery.com;
        font-src 'self' data: *.$server_name *.gstatic.com *.bootstrapcdn.com;
        connect-src 'self' *.$server_name *.googletagmanager.com;
        media-src 'self' *.$server_name *.w.org *.videopress.com;
        object-src 'none';
        child-src 'self' *.googletagmanager.com maps.google.com pastebin.com *.videopress.com;
        form-action 'self';
        upgrade-insecure-requests;
        reflected-xss block;
        referrer no-referrer";

顺便说一句……如果您想知道 *.$server_name 是做什么用的。它是 nginx 变量,允许我将所有子域列入白名单。

非常感谢 Mike

答案1

您可以通过两种方式了解哪个指令阻止了哪个 URL:

  1. 访问网站时,检查 Firefox 控制台日志。任何 CSP 违规行为都会列在那里
  2. 添加 report-uri 指令,以便浏览器可以将 CSP 报告发送到某个地方。我推荐免费服务https://report-uri.io/

相关内容