CSP、RocketLoader和Nginx? [英] CSP, RocketLoader and Nginx?
本文介绍了CSP、RocketLoader和Nginx?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
所以我试图避免使用(另一个)页面规则来禁用我的一个子域的RocketLoader,因为我们不能使用RegEx在一个页面规则下选择多个特定的子域,并且只能为免费帐户获得3个页面规则。
根据此页面:
我只需在域中添加一个头以允许来自CloudFlare的脚本:
add_header Content-Security-Policy "script-src 'self' ajax.cloudflare.com;";
我在该子域名的nginx配置(实际上是计时器容器)中执行了此操作,重新启动了nginx,并进行了测试以确保它接受了,它做到了:
但是当我尝试加载域时,它不会加载,检查器显示如下:
由于不太熟悉这一点,有谁知道我把它搞砸了吗?
推荐答案
我哪里搞砸了?
首先,这里:
我只需向域添加标题以允许来自CloudFlare的脚本:
add_header Content-Security-Policy "script-src 'self' ajax.cloudflare.com;";
我在Nginx配置中这样做
其次,您信任report-uri
服务,但它辜负了您。
- 在将CSP标头添加到Nginx配置之前,您的
ajax.cloudflare.com
出现了问题(否则,为什么要添加它)。这意味着您已经通过HTTP头或元标记<meta http-equiv= 'Content-Security-Policy'>
发布了CSP。
ajax.cloudflare.com
host-source,但第一个CSP仍然禁止它(即您在检查器中被观察)。
您必须找出发布第一个CSP的位置并将ajax.cloudflare.com
添加到其中,而不是发布第二个CSP。
- 没有人知道
report-uri
的背后是什么,以及如果同时发布两个CSP HTTP标头或一个与meta标记配对的HTTP标头将如何反应
如果是CSP元标记,您可以通过检查HTML代码轻松地进行检查。
我想report-uri
没想到会出现这种情况。
这篇关于CSP、RocketLoader和Nginx?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文