Предлагаю добавить схему URL-адресов к доменам в вашем заголовке Content-Security-Policy
. Возможно, вам придется дважды указать домен, чтобы он охватывал как http
, так и https
, но он, похоже, решает проблему.
Я столкнулся с аналогичной проблемой; если родительская страница была загружена по простой http
, а на iframed-странице служил заголовок CSP с включенным родительским доменом, но без схемы URL, и Firefox, и Chrome предоставили указанную вами ошибку.
Самый большой ключ я нашел, почему это происходит в Pale Moon (A Firefox вилка) Примечания к выпуску:
26.5.0 (2016-09-28) Исправления/Изменения:
Внедрено изменение спецификации CSP (политика безопасности контента); когда страница с CSP загружается через http, Pale Moon теперь интерпретирует директивы CSP , в том числе https-версии хостов, перечисленных в CSP , если схема (http/https) явно не указана. Это прерывается с CSP 1.0, который является более ограничительным и не позволяет использовать этот межпротокольный доступ, но соответствует CSP 2, где это разрешено.
https://www.palemoon.org/releasenotes-archived.shtml
Тем не менее, кажется, что Pale Moon 26.5.0 до сих пор ведет себя так же, как Firefox и Chrome.
Скотт Хелме также написал о блоге similar issue с Safari, но похоже, что теперь это разрешено.
Еще одна вещь, на которую нужно обратить внимание, - это то, что рамка страницы также служит X-Frame-Options
. Я считаю, что Firefox и Safari являются единственными браузерами, которые поддерживают как этот заголовок, так и заголовок frame-ancestors
CSP, и, конечно же, в случае Firefox X-Frame-Options
, похоже, имеет приоритет. И с X-Frame-Options ALLOW-FROM
вам разрешено указывать только один URI, поэтому вам может потребоваться изменить заголовки для разных браузеров в зависимости от ваших потребностей.
Да, это выглядит правильно. В моем случае эта ошибка была исправлена путем явного добавления протоколов _http_ и _https_ в заголовок CSP. – DimaIT