У меня есть статический веб-сайт, размещенный в корзине, которую я обслуживаю через платформу 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'>
Может ли кто-нибудь увидеть, что я делаю неправильно, или дать совет, как заставить это работать постоянно?