ERR_BLOCKED_BY_RESPONSE: что значит и как исправить
ERR_BLOCKED_BY_RESPONSE — браузер получил ответ сервера, но не показал его, потому что заголовки ответа запрещают такое использование: чаще всего встраивание в iframe (X-Frame-Options, CSP frame-ancestors) или подключение ресурса с чужого сайта (Cross-Origin-Resource-Policy). Исправить это может только владелец ресурса.
Обновлено 11 октября 2026 г.
Что значит ERR_BLOCKED_BY_RESPONSE
В отличие от тайм-аутов и ошибок DNS, здесь сеть работает: сервер ответил. Но в ответе есть заголовок, который запрещает браузеру показать содержимое в данном контексте. Браузер подчиняется заголовку и блокирует загрузку.
Это не HTTP-код вроде 403: статус ответа может быть вполне нормальным, например 200. Блокировку делает сам браузер по правилам безопасности. Chrome, Яндекс Браузер и Edge ведут себя одинаково.
Какие заголовки приводят к блокировке
| Заголовок | Что запрещает |
|---|---|
| X-Frame-Options: DENY / SAMEORIGIN | Показ страницы во фрейме (iframe) на чужом сайте |
| Content-Security-Policy: frame-ancestors | То же, но современным способом; перекрывает X-Frame-Options |
| Cross-Origin-Resource-Policy: same-origin / same-site | Подключение ресурса (картинки, скрипта, видео) со стороннего сайта |
| Cross-Origin-Embedder-Policy: require-corp (на вашей странице) | Загрузку чужих ресурсов без CORP или CORS-разрешения |
Что сделать посетителю
Обычно ошибка видна внутри страницы: вместо виджета, формы оплаты, карты или видео серое окно с сообщением «отказано в подключении» и кодом ERR_BLOCKED_BY_RESPONSE. Попробуйте:
- Открыть содержимое отдельно. Кликните правой кнопкой по окну или откройте оригинальную ссылку в новой вкладке: прямой переход заголовками не блокируется.
- Проверить в режиме инкогнито (
Ctrl+Shift+N) и без расширений: иногда расширения безопасности добавляют свои заголовки. - Обновить браузер.
- Написать владельцу сайта. Если блокируется встроенный элемент, исправление находится на его стороне.
Очистка кэша, смена DNS и перезагрузка роутера здесь не помогут: сеть работает, блокировка выполняется по заголовкам ответа.
Что делать владельцу сайта
Сначала посмотрите заголовки ответа проблемного ресурса и найдите запрещающий:
curl -sI https://example.ru/widget | grep -i -E "x-frame-options|content-security-policy|cross-origin"То же видно во вкладке Network (F12): выберите запрос и откройте «Headers». В консоли для блокировок CORP/COEP встречается сообщение вида net::ERR_BLOCKED_BY_RESPONSE.NotSameOrigin.
Страницу должны открывать во фрейме
Если ваш виджет, форма или страница должны встраиваться на другие сайты, уберите X-Frame-Options: DENY и задайте frame-ancestors явно со списком разрешённых источников. Значение ALLOW-FROM в X-Frame-Options современными браузерами не поддерживается. Если заданы оба заголовка, браузер следует frame-ancestors.
add_header Content-Security-Policy "frame-ancestors 'self' https://partner.example" always;Header always set Content-Security-Policy "frame-ancestors 'self' https://partner.example"Если встраивание не нужно, наоборот, оставьте X-Frame-Options: SAMEORIGIN или frame-ancestors 'self': это защита от кликджекинга, и блокировка — ожидаемое поведение. Многие сервисы (почта, банки, соцсети) запрещают встраивание намеренно. Решение тут — не обходить блокировку, а использовать для встраивания официальный виджет или ссылку.
Картинки, скрипты и видео не грузятся с другого сайта
Если ресурс должны использовать другие сайты, задайте на нём Cross-Origin-Resource-Policy: cross-origin. Если вы сами включили на странице Cross-Origin-Embedder-Policy: require-corp, то каждый подключаемый чужой ресурс должен либо отдавать такой заголовок CORP, либо загружаться через CORS (атрибут crossorigin). Без этого он будет заблокирован.
location /public/ {
add_header Cross-Origin-Resource-Policy "cross-origin" always;
}После правок проверьте ответ повторно командой curl -sI и снаружи через проверку кода ответа: она показывает заголовки и цепочку редиректов страницы.
Если встроенная страница ведёт на удалённый адрес, во фрейме появится 404. Такие обращения собирает Monitor404: вы увидите, какие адреса запрашивают чаще всего.
Частые вопросы
Что значит ERR_BLOCKED_BY_RESPONSE?
Браузер получил ответ сервера, но не показал его, потому что заголовки ответа (X-Frame-Options, CSP frame-ancestors, CORP) запрещают такое использование.
Как исправить ERR_BLOCKED_BY_RESPONSE у посетителя?
Откройте содержимое в новой вкладке по прямой ссылке, проверьте в режиме инкогнито и без расширений. Если блокируется встроенный блок, исправить его может только владелец сайта.
Как исправить ERR_BLOCKED_BY_RESPONSE при iframe?
Страница-источник должна разрешать встраивание: уберите X-Frame-Options: DENY и добавьте Content-Security-Policy: frame-ancestors со списком нужных доменов. Если встраивание запрещено намеренно, используйте официальный виджет сервиса.
Это ошибка 403?
Нет. Статус ответа может быть 200: блокирует не сервер, а браузер по заголовкам безопасности.