我正在向我的网站添加安全标头。我正在运行 Nginx 服务器。
我已使用“内容安全策略 (CSP) 生成器”chrome 扩展来创建我的 CSP 设置。
nginx ssl.conf中添加的CSP语句为:
add_header Content-Security-Policy "default-src 'self';
script-src 'report-sample' 'self' https://maps.googleapis.com/.../util.js;
style-src 'report-sample' 'self' https://code.jquery.com https://fonts.googleapis.com;
object-src 'none';
base-uri 'self';
connect-src 'self';
font-src 'self' https://fonts.gstatic.com;
frame-src 'self';
img-src 'self' data: https://code.jquery.com https://maps.gstatic.com;
manifest-src 'self';
media-src 'self';
report-uri https://???.endpoint.csper.io/;
worker-src 'none';";
这些设置似乎唯一适用的浏览器是 Firefox。
当我在 Chrome (v77.01) 中加载网站时,该网站无法加载。在 Edge(版本 83.0.478.54)、Safari 和 Opera 中显示相同的结果。
我看到以下信息:
无法访问此网站 https:domain.com 网页可能暂时无法访问,或者可能已永久移至新网址。 ERR_HTTP2_PROTOCOL_ERROR
ssl 证书为 Lets Encrypt,预计将于 2020 年 9 月到期。
如有任何建议,我们将不胜感激。
干杯
格雷格·J
好吧,这个问题已经被修复了,和往常一样,它真的很基本,感觉有点糟糕……
Chrome 浏览器不喜欢 CSP 语句中的换行符。一旦我将声明写成一行,它就完美地工作了。
Horas tratando se encontrar este error y esto fue lo única que funcionó。谢谢!