Приветствую, коллеги. В Электронном бюджете при просмотре или печати PDF вместо документа у меня открылась страница с сообщением ERR_BLOCKED_BY_CSP. Ошибка проявлялась в Яндекс Браузере, а в Chromium-GOST тот же документ открывался.
Проблема
Сайт заблокирован. Этот контент заблокирован. Код ошибки: ERR_BLOCKED_BY_CSP.
Вход по сертификату проходил, реестр открывался, ошибка появлялась только при выводе документа на просмотр или печать. Это важное отличие от ошибок КриптоПро, контейнера и цепочки сертификатов.
Что означает ERR_BLOCKED_BY_CSP
CSP — Content Security Policy, политика безопасности содержимого. Портал показывает PDF внутри встроенного окна. Перед загрузкой браузер проверяет, разрешено ли странице документа находиться внутри страницы Электронного бюджета.
Если сервер документа прислал запрет на такое встраивание либо в политике родительской страницы не указан нужный адрес, браузер отменяет загрузку. Обычно это связано с директивами frame-ancestors, frame-src или заголовком X-Frame-Options.
Главный признак: если один и тот же документ открывается в Chromium-GOST, но блокируется в Яндекс Браузере, я сначала проверяю браузерный сценарий и настройки самого портала. Сертификат пользователя в таком случае не перевыпускаю.
Как я проверяю причину
- Открываю тот же документ повторно и фиксирую точное время ошибки.
- Проверяю другой документ из того же реестра.
- Открываю документ в актуальном Chromium-GOST.
- Запускаю чистый профиль Яндекс Браузера без сторонних расширений и повторяю проверку.
- Нажимаю
F12, открываю «Консоль» и «Сеть», затем снова вызываю просмотр документа.
В консоли ищу сообщение о нарушении Content Security Policy. Полезно сохранить адрес заблокированного ресурса и название директивы: например, frame-ancestors или frame-src.
Что можно сделать на рабочем месте
1. Открыть документ в Chromium-GOST
Это самый безопасный временный вариант, если в нём просмотр работает. Я использую его для получения документа, но не считаю окончательным исправлением портала.
2. Попробовать открыть PDF отдельно
Если в интерфейсе есть команда «Скачать», «Открыть в новой вкладке» или отдельная ссылка на файл, использую её вместо встроенного просмотра. Политика frame-ancestors запрещает именно встраивание; отдельная вкладка иногда открывается нормально.
3. Обновить Яндекс Браузер
Проверяю версию на странице browser://help, устанавливаю штатное обновление и перезапускаю браузер. После этого удаляю данные только для адресов Электронного бюджета и заново вхожу в систему.
4. Проверить расширения
В чистом профиле временно отключаю блокировщики, антивирусные расширения и средства изменения заголовков. Если ошибка остаётся без расширений, возвращаю их обратно: причина, скорее всего, на стороне веб-приложения.
Что должен исправить владелец системы
Пользователь не может штатно изменить CSP, полученную от сервера. Администратору веб-приложения нужно проверить заголовки родительской страницы и сервера PDF, разрешить правильные домены для встраивания и убрать конфликт между Content-Security-Policy и X-Frame-Options.
В обращение я прикладываю:
- адрес раздела и название документа;
- точное время ошибки;
- версию Яндекс Браузера;
- скриншот
ERR_BLOCKED_BY_CSP; - строку ошибки из консоли разработчика;
- результат проверки в Chromium-GOST.
Не делаю: не запускаю браузер с ключом --disable-web-security, не ставлю расширения для обхода CSP и не отключаю защиту браузера постоянно. Такая «починка» убирает важную защиту от подмены содержимого и кражи данных.
Мой вывод
В этом случае ERR_BLOCKED_BY_CSP появляется не потому, что сломан сертификат или КриптоПро. Яндекс Браузер запрещает встроенный просмотр из-за политики безопасности, которую присылает веб-сервер. Для работы временно открываю документ в Chromium-GOST или отдельной вкладке, а для окончательного исправления передаю владельцу системы данные о заблокированном адресе и директиве CSP.
Если вы столкнулись с этой ошибкой и нашли рабочий вариант, напишите в комментариях версию браузера, раздел Электронного бюджета и что именно помогло. Так мы соберём решения для разных подсистем и обновлений портала.
Получилось или остались вопросы?
Поделитесь результатом, дополните инструкцию своим опытом или задайте вопрос. Я читаю комментарии и обновляю статьи по реальным случаям.