Skip to content
EN

ERR_BLOCKED_BY_RESPONSE: причины и решение

Коротко:

ERR_BLOCKED_BY_RESPONSE — Chrome блокирует ресурс из-за не-совпадения Cross-Origin-* заголовков. Обычно это COEP (Cross-Origin-Embedder-Policy), COOP (Cross-Origin-Opener-Policy) или CORP (Cross-Origin-Resource-Policy). Появляется на сайтах, использующих SharedArrayBuffer или нуждающихся в cross-origin isolation. Fix: настроить правильные headers на всех домeнах.

Эта ошибка блокирует HTTPS-доступ. Ниже: причины, исправление, FAQ.

Проверить SSL своего сайта →

Причины ошибки

  • Страница с Cross-Origin-Embedder-Policy: require-corp встраивает ресурс без CORP
  • COOP: same-origin + popup.open() на другой origin
  • X-Frame-Options: DENY при попытке iframe-встраивания
  • CORP: same-site + доступ с другого eTLD+1
  • Broken CORS preflight с 200 но без Access-Control-Allow-Origin

Пошаговое исправление

  1. На встраиваемом ресурсе: Cross-Origin-Resource-Policy: cross-origin
  2. Если вы владелец обеих сторон: CORP: same-site
  3. Для iframes: Cross-Origin-Opener-Policy: unsafe-none (ослабляет)
  4. Проверьте HTTP-чекер Enterno — увидите все response headers
  5. Для SharedArrayBuffer: COOP + COEP оба на same-origin + require-corp

Проверить SSL-сертификат →

Смежные SSL-ошибки

Что такое ERR_BLOCKED_BY_RESPONSE и как с ним справиться

Ошибка ERR_BLOCKED_BY_RESPONSE возникает, когда ответ сервера блокируется политиками безопасности, такими как Cross-Origin Embedder Policy (COEP) или Cross-Origin Resource Policy (CORP). Это может произойти, если ресурсы, загружаемые с других доменов, не соответствуют заданным политикам, что препятствует их отображению. Чтобы устранить эту ошибку, убедитесь, что все загружаемые ресурсы имеют соответствующие заголовки, такие как Cross-Origin-Embedder-Policy: require-corp или Cross-Origin-Resource-Policy: same-origin.

Понимание COEP и CORP

Cross-Origin Embedder Policy (COEP) и Cross-Origin Resource Policy (CORP) — это механизмы безопасности, которые помогают защитить веб-приложения от атак, связанных с межсайтовыми запросами. COEP требует, чтобы все ресурсы, загружаемые с другого домена, имели соответствующие заголовки, подтверждающие их безопасность. Это позволяет браузеру избежать загрузки потенциально небезопасных ресурсов, что, в свою очередь, защищает пользователей от атак, таких как Cross-Site Scripting (XSS).

С другой стороны, CORP определяет, как ресурсы могут быть загружены с других доменов. Если ресурс не имеет соответствующих заголовков, браузер блокирует его загрузку, что может привести к возникновению ошибки ERR_BLOCKED_BY_RESPONSE. Например, если ваш сайт загружает изображение с другого домена, и этот домен не предоставляет заголовок Cross-Origin-Resource-Policy: same-origin, изображение будет заблокировано.

Практический пример: настройка заголовков для устранения ERR_BLOCKED_BY_RESPONSE

Для устранения ошибки ERR_BLOCKED_BY_RESPONSE необходимо правильно настроить заголовки COEP и CORP на сервере. Рассмотрим пример настройки для веб-сервера Apache. Включите следующие строки в конфигурацию вашего веб-сервера:

Header set Cross-Origin-Embedder-Policy require-corp
Header set Cross-Origin-Resource-Policy same-origin

Эти команды добавят соответствующие заголовки к ответам сервера. Убедитесь, что вы перезапустили сервер после внесения изменений. Для проверки заголовков используйте команду curl -I https://ваш-домен.com. В ответе должны появиться ваши новые заголовки:

HTTP/1.1 200 OK
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Resource-Policy: same-origin

Если заголовки применены корректно, это должно устранить ошибку ERR_BLOCKED_BY_RESPONSE и позволить вашему сайту загружать необходимые ресурсы без блокировок.

СертификатСрок, издатель, домены (SAN)
ЦепочкаПроверка промежуточных и корневых CA
TLS-протоколВерсия TLS и набор шифров
УязвимостиHeartbleed, POODLE, слабые шифры

Почему нам доверяют

TLS 1.3
поддержка
Полная
цепочка CA
<2с
результат
30/14/7
дней до истечения

Как это работает

1

Введите домен

2

Проверка цепочки TLS

3

Дата истечения и уязвимости

Что проверяет SSL-тест?

SSL/TLS — протокол шифрования, который защищает данные между браузером и сервером. Наш инструмент анализирует сертификат, цепочку доверия, версию TLS и известныеуязвимости.

Детали сертификата

Издатель, срок действия, алгоритм подписи, покрываемые домены (SAN) и тип валидации (DV/OV/EV).

Цепочка доверия

Проверка полной цепочки: от конечного сертификата через промежуточные до корневого CA.

Анализ TLS

Версия протокола (TLS 1.2/1.3), набор шифров, поддержка Perfect Forward Secrecy (PFS).

Оповещения об истечении

Создайте монитор — получайте уведомления в Telegram и email за 30/14/7 дней до истечения.

DV vs OV vs EV сертификаты

DV (Domain Validation)
  • Подтверждение только владения доменом
  • Выдаётся за минуты автоматически
  • Бесплатно через Let's Encrypt
  • Подходит для большинства сайтов
  • Самый распространённый тип
OV / EV
  • Проверка организации (OV) или расширенная проверка (EV)
  • Выдаётся за 1-5 рабочих дней
  • Стоимость от $50 до $500/год
  • Для финансов, e-commerce, госсайтов
  • Повышает доверие пользователей

Кому это нужно

DevOps

мониторинг SSL-сертификатов

Безопасность

аудит TLS-конфигурации

SEO

HTTPS как фактор ранжирования

E-commerce

доверие покупателей

Частые ошибки

Истёкший сертификатБраузеры блокируют сайт с истёкшим SSL. Настройте автопродление или мониторинг.
Неполная цепочка сертификатовБез промежуточного CA некоторые браузеры и боты не смогут верифицировать сертификат.
Mixed content на HTTPS-сайтеHTTP-ресурсы на HTTPS-странице — замок в браузере пропадает, снижается доверие.
Использование TLS 1.0/1.1Устаревшие версии TLS содержат известные уязвимости. Используйте TLS 1.2+ или 1.3.
Несовпадение домена в сертификатеСертификат должен покрывать все домены сайта, включая www и поддомены.

Лучшие практики

Настройте автопродлениеLet's Encrypt + certbot с cron — сертификат обновляется автоматически каждые 60-90 дней.
Включите HSTSЗаголовок Strict-Transport-Security заставляет браузер всегда использовать HTTPS.
Используйте TLS 1.3TLS 1.3 быстрее (1-RTT handshake) и безопаснее — убраны устаревшие шифры.
Мониторьте срок действияСоздайте монитор на Enterno.io — получайте уведомления задолго до истечения.
Проверяйте цепочку после обновленияПосле обновления сертификата убедитесь, что промежуточные сертификаты установлены.

Получите больше с бесплатным аккаунтом

Мониторинг SSL-сертификатов, история проверок и уведомления за 30 дней до истечения.

Зарегистрироваться (FREE)

Больше по теме

Источники

Часто задаваемые вопросы

Что такое Cross-Origin Isolation?

Режим, в котором страница защищена от Spectre-атак. Требуется для SharedArrayBuffer, performance.measureUserAgentSpecificMemory и высокоточных таймеров.

Когда я вижу эту ошибку?

DevTools → Console → "Failed to load resource: net::ERR_BLOCKED_BY_RESPONSE". В Network тaб resource помечен красным.

Spectre-mitigations — это про безопасность?

Да. Без COOP/COEP страница не может безопасно использовать SharedArrayBuffer — отсюда ограничения Chrome.

Как удобно тестировать?

<a href="/cors">Enterno CORS checker</a> проверит Access-Control-* headers. + DevTools → Network → Response Headers.

Запустить инструмент, который описан в этой статье

Бесплатный тариф — 10 мониторов, проверки каждые 5 мин, без карты. Платные тарифы — интервал от 1 минуты и проверки из нескольких регионов.