【发布时间】:2020-04-29 14:09:56
【问题描述】:
我有一个托管在我通过 Google 平台提供的 google 存储桶中的静态网站。
这个网站已经运行了大约 6 个月没有任何问题,但在过去的一个月里,由于“内容安全”问题,我遇到了间歇性的问题,因为它没有加载样式表和脚本 - 这导致只是主要的文本页面出现在浏览器中,没有样式也没有(基于 Javascript)的功能。间歇性是指它可以正常工作几个小时,然后失败几个小时。
此服务没有“网络服务器”,例如我只是从存储桶中提供静态页面 - 我知道谷歌必须有自己的服务器来处理这个问题。无论用户使用什么浏览器都会发生故障,并且清除浏览器缓存无济于事,因此此问题出在 Google 服务器端。
在浏览器中检查开发者控制台,我可以看到网页使用的所有样式表、脚本和字体存在以下问题:
> Refused to load the stylesheet XXXXXXX because it violates the > following Content Security Policy directive: "default-src 'none'". > Note that 'style-src-elem' was not explicitly set, so 'default-src' is > used as a fallback.
我认为我的内容安全设置正确:
<meta http-equiv="Content-Security-Policy" content="
default-src 'self';
img-src 'self'
https://syndication.twitter.com;
font-src 'self'
https://use.fontawesome.com
https://fonts.gstatic.com
https://fonts.googleapis.com;
script-src 'self' 'unsafe-inline'
https://stackpath.bootstrapcdn.com
https://connect.facebook.net
https://platform.twitter.com
https://code.jquery.com
https://cdnjs.cloudflare.com;
style-src 'self' 'unsafe-inline'
https://stackpath.bootstrapcdn.com
https://use.fontawesome.com
https://fonts.googleapis.com;
frame-src 'self'
https://www.facebook.com
https://connect.facebook.net
https://platform.twitter.com
https://www.youtube.com;
">
这些是失败的链接,每个“外部”链接都包括使用导入签名以确保加载“真实”的东西。
<!-- Bootstrap core CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<!-- Font Awesome -->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
<!-- Custom fonts for this template -->
<link href='https://fonts.googleapis.com/css?family=Titillium+Web' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/css'>
任何人都可以看到我做错了什么或提供任何关于如何使其始终如一地工作的建议吗?
【问题讨论】:
-
您是否仍然遇到此问题?我遇到了同样的问题,似乎是由于内联 中使用了 JavaScript url
标签: google-cloud-platform google-cloud-storage