Наш частный сервер Jenkins предоставляет Политику безопасности контента на страницах, которые он обслуживает, и я пытаюсь заставить его работать с отчетами покрытия HTML-кода Clover, которые он обслуживает.
Jenkins CSP по умолчанию позволяет 'self'
для изображений и стилей:
песочница; default-src 'none'; img-src 'self'; style-src 'self';
'self'
"позволяет загружать ресурсы из одного источника (той же схемы, хоста и порта)", согласно content-security-policy.com .
Отчеты Clover включают относительные ссылки CSS и изображения, и, поскольку они являются относительными, они используют одну и ту же схему, хост и порт:
<link href="_css/bootstrap.min.css" rel="stylesheet" type="text/css">
Несмотря на это, Chrome отклоняет их:
Отказался от загрузки таблицы стилей 'http://jnk.internal.example.com:8080/job/MyProject/lastStableBuild/cloverphp-html/_css/bootstrap.min.css', поскольку она нарушает следующую директиву политики безопасности содержимого: "style-src' self '". Обратите внимание, что 'style-src-elem' не был задан явно, поэтому 'style-src' используется в качестве запасного варианта.
Safari отказывается загружать их с похожей ошибкой. Firefox, однако, просто отлично.
Почему 'self'
не работает, когда прочитанная мной документация звучит так, как должна? Почему Firefox работает, а Chrome и Safari - нет?