Перейти к содержимому
SEO/Опубликовано 16 октября 2026 г./5 мин

ERR_CONNECTION_CLOSED: сайт закрыл соединение

ERR_CONNECTION_CLOSED — сервер или кто-то по пути закрыл соединение до конца TLS-рукопожатия. Проверили на стенде, когда браузер показывает именно этот код, и почему прокси превращает сброс соединения в закрытие.

ERR_CONNECTION_CLOSED: сайт закрыл соединение
N
Команда NEXFORCE
Кто пишет блог

ERR_CONNECTION_CLOSED значит, что соединение с сервером закрыли раньше, чем браузер получил ответ. Chrome пишет: «Не удаётся получить доступ к сайту. Сайт неожиданно разорвал соединение». Мы собрали стенд, на котором закрывали соединение в разные моменты, и выяснили две вещи. Этот код появляется, только когда соединение закрыто до конца TLS-рукопожатия. А прокси и VPN превращают в него другую ошибку — сброс соединения.

Ответ своего сайта снаружи можно посмотреть проверкой доступности: наш сервер запрашивает страницу и показывает код ответа, время отклика и дату окончания сертификата.

Что означает ошибка: перевод и код

Дословно — «соединение закрыто». В исходниках Chromium у ошибки номер −100 и пояснение:

A connection was closed (corresponding to a TCP FIN).

То есть закрыто штатным сигналом FIN. Соседний код −101, ERR_CONNECTION_RESET, означает сброс сигналом RST. Для сравнения: −324, ERR_EMPTY_RESPONSE, — «сервер закрыл соединение, ничего не отправив».

Полный текст на русском в Chromium 149:

Не удаётся получить доступ к сайту. Сайт 127.0.0.1 неожиданно разорвал соединение. Попробуйте сделать следующее: проверьте подключение к интернету, проверьте настройки прокси-сервера и брандмауэра.

В части статей из выдачи написано, что CLOSED — это сброс TCP RST. По исходнику и по нашему стенду это не так.

Стенд: когда браузер показывает CLOSED

Мы подняли на одном компьютере серверы, которые закрывают соединение в разные моменты, и открыли каждый в Chromium 149 три раза.

Что делает серверЧто показал браузер
http, закрыл после запросаERR_EMPTY_RESPONSE
https, закрыл сразу после подключенияCLOSED
https, закрыл после приветствия браузера (ClientHello)CLOSED
https, оборвал свой ответ на середине рукопожатияCLOSED
https, рукопожатие прошло, закрыл после запросаERR_EMPTY_RESPONSE
то же, но с уведомлением TLS о закрытииERR_EMPTY_RESPONSE
https, закрывает только для одного имени в SNICLOSED для этого имени, другое открылось

Все ошибки приходили за 0,01–0,06 секунды, обрыв посреди рукопожатия — за 0,42. Браузер не ждёт таймаута: закрытие он видит сразу.

Последняя строка таблицы — важная. Сервер или фильтр видит имя сайта в приветствии браузера ещё до шифрования. Поэтому можно закрывать соединения выборочно: к одному имени пускать, к другому нет. Именно так выглядит ошибка, когда фильтр режет конкретный адрес, а остальные на том же сервере работают.

Прокси превращает RESET в CLOSED

Самая полезная находка. Мы взяли сервер, который на приветствие браузера отвечает сбросом RST. Напрямую Chromium показывает ERR_CONNECTION_RESET. Потом поставили между ними простой ретранслятор, как это делает любой прокси: при обрыве с той стороны он закрывает соединение с браузером штатно. Код сменился на ERR_CONNECTION_CLOSED — три раза из трёх.

На живом сайте то же самое. effecto-mebel.ru, который в нашем замере сбросов стабильно сбрасывал соединение:

Откуда открывалиРезультатВремя
Напрямую из ГерманииERR_CONNECTION_RESET, 3 из 30,22–0,38 с
Через прокси на российском сервереERR_CONNECTION_CLOSED, 3 из 30,62–1,09 с

Ещё у двух сайтов из нашего списка из Германии https зависал на 30 секунд, а через российский прокси Chromium в двух попытках из трёх показал CLOSED, в одной — тоже таймаут.

Вывод: если вы сидите через VPN или прокси, код ошибки не говорит, что на самом деле сделал сервер. Чтобы узнать, отключите VPN и откройте страницу снова.

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

Между вами и сервером:

  • VPN или прокси, у которого оборвалось соединение с сервером;
  • антивирус или файрвол, который проверяет HTTPS и рвёт соединение;
  • фильтр провайдера или корпоративной сети, который закрывает соединения к отдельным адресам по имени в SNI;
  • роутер с зависшей таблицей соединений.

На сервере:

  • TLS настроен с ошибкой, и сервер закрывает соединение после приветствия браузера;
  • сервер не находит настроек для имени сайта и обрывает рукопожатие;
  • защита от ботов или файрвол режет часть адресов или стран;
  • перегрузка: сервер принимает соединение и тут же закрывает.

Блокировки в России мы не измерили. Через наш российский сервер в дата-центре заблокированные соцсети и трекеры открылись: в этой сети фильтра нет. Как ошибка выглядит в домашней сети провайдера, мы не проверяли.

Как исправить ошибку пользователю

Сначала определите, где проблема, потом исправляйте.

  1. Сравните две сети. Откройте страницу с телефона через мобильный интернет. Ошибка повторилась — дело в сервере, дальше ждать или писать владельцу. Пропала — причина в вашей сети или устройстве.
  2. Отключите VPN и прокси. Это первое подозрение: как показал стенд, через прокси любой обрыв выглядит как CLOSED. В Windows проверьте «Параметры» → «Сеть и Интернет» → «Прокси».
  3. Приостановите проверку HTTPS в антивирусе на минуту. Программы безопасности могут использовать собственный прокси, и тогда любой обрыв выглядит как закрытие. Помогло — добавьте адрес в исключения и включите защиту обратно.
  4. Откройте страницу в режиме инкогнито или другом браузере. Если там работает, отключите расширения по одному, а подозрительные удалите. Данные браузера при этом не трогайте: кэш хранит страницы, а не соединения.
  5. Перезагрузите роутер. Выключите его на 30 секунд.
  6. Смените DNS на публичный, например 77.88.8.8 или 8.8.8.8, если провайдер подменяет ответы.
  7. Сбросьте сетевые настройки — только если ошибка на всех сайтах и ничего выше не помогло. В Windows: «Параметры» → «Сеть и Интернет» → «Дополнительные сетевые параметры» → «Сброс сети».

На Android и iPhone: переключитесь между Wi-Fi и мобильной сетью, отключите VPN и режим экономии трафика в браузере, обновите браузер. Если страница не открывается только в одном приложении, проверьте системные настройки VPN и частного DNS: после установки некоторых приложений там остаётся их профиль.

Встроенные инструменты Chrome

Если способы выше не помогли, у браузера есть служебные страницы. Введите адрес в адресную строку и нажмите Enter.

  • chrome://net-internals/#sockets — кнопка «Flush socket pools» закрывает все открытые соединения браузера. Помогает, когда ошибка возникает после смены сети или выхода из сна, а перезапускать браузер не хочется.
  • chrome://net-internals/#dns — «Clear host cache» сбрасывает кэш адресов.
  • chrome://net-export — запись сетевого журнала. Включите запись, повторите ошибку и сохраните файл: в нём видно, на каком шаге закрыто соединение. Его можно отправить администратору сети или владельцу ресурса.

QUIC. Некоторые инструкции советуют временно отключить протокол QUIC на странице chrome://flags. ERR_CONNECTION_CLOSED — ошибка TCP, и QUIC к ней отношения не имеет. Сбои самого QUIC браузер показывает другим кодом — мы разобрали его на стенде в статье ERR_QUIC_PROTOCOL_ERROR.

Если сайт открылся, но падают отдельные запросы, а в консоли стоит net::ERR_HTTP2_PROTOCOL_ERROR, сервер рвёт уже не соединение, а поток HTTP/2. Эту ошибку мы тоже проверили на стенде: ERR_HTTP2_PROTOCOL_ERROR.

Проверка из командной строки

Откройте командную строку и выполните curl -v https://адрес/. Сообщение SSL_ERROR_SYSCALL сразу после строки Client hello значит, что соединение закрыли до ответа — так curl показывал наши живые примеры. Connection reset by peer — это сброс, а не закрытие. Если ответ curl получен без ошибок, а браузер — нет, причина связана с браузером: его расширениями, данными или функциями защиты.

Смежные ошибки соединения

КодЧто произошло
ERR_CONNECTION_CLOSEDзакрыто сигналом FIN до ответа
ERR_CONNECTION_RESETсброшено сигналом RST
ERR_CONNECTION_ABORTEDпрервано на устройстве посетителя
ERR_EMPTY_RESPONSEзакрыто после запроса, ответа нет
ERR_CONNECTION_REFUSEDпорт закрыт, подключение отклонено
ERR_CONNECTION_TIMED_OUTсервер не ответил на подключение
ERR_SSL_PROTOCOL_ERRORсервер ответил, но не по правилам TLS

Как исправить на своём сайте

Если ошибку видят все посетители, рукопожатие ломается на сервере.

  1. Проверьте рукопожатие снаружи:

    openssl s_client -connect ваш-сайт.ru:443 -servername ваш-сайт.ru
    

    Строка SSL_ERROR_SYSCALL или обрыв сразу после Client hello значит, что сервер закрыл соединение, не ответив.

  2. Проверьте сертификат для этого имени. Если для домена на сервере нет своего блока настроек и сертификата, рукопожатие может оборваться. Как выпустить сертификат — в статье про SSL-сертификат сайта.

  3. Посмотрите журнал ошибок веб-сервера в момент запроса. Многие сбои рукопожатия nginx пишет только на уровне info, поэтому на время поиска поднимите подробность error_log.

  4. Проверьте файрвол и защиту от ботов. Если ошибка только из отдельных стран или сетей, их режет правило, а не сервер.

  5. Проверьте нагрузку. Если ошибки появляются в часы пик, серверу не хватает воркеров или лимит соединений слишком мал.

  6. Проверьте из другой страны. Мы видели сайты, которые из Германии зависают на 30 секунд, а через российский прокси обрываются за секунду: поведение зависит от адреса посетителя.

Проверить свой

Когда сайт снова открывается, посмотрите, что ещё мешает ему в поиске. Движок разбирает одну страницу: метатеги, заголовки, canonical, robots.txt, карту сайта. Без регистрации.

Границы замера

  • Chromium 149 на Linux, стенд на одном компьютере, по три прогона.
  • Живые сайты проверяли из Германии напрямую и через прокси на российском сервере в дата-центре, а не из домашней сети.
  • QUIC и HTTP/3 мы не проверяли.

Коротко

  • ERR_CONNECTION_CLOSED — соединение закрыто сигналом FIN раньше, чем пришёл ответ.
  • На стенде этот код появлялся, только когда соединение закрыто до конца TLS-рукопожатия; после него та же ситуация даёт EMPTY_RESPONSE.
  • Прокси и VPN превращают сброс RESET в CLOSED: так было и на стенде, и на живом сайте.
  • Пользователю — сравнить сети, отключить VPN, прокси и проверку HTTPS в антивирусе.
  • Владельцу — проверить рукопожатие через openssl, сертификат и правила файрвола.
Вопросы и ответы

FAQ по теме

Что означает ERR_CONNECTION_CLOSED?+
Соединение закрыли штатно, сигналом TCP FIN, раньше, чем браузер получил ответ. На нашем стенде Chromium показывал этот код, только когда соединение закрывалось до конца TLS-рукопожатия. Текст на экране — «Сайт неожиданно разорвал соединение».
ERR_CONNECTION_CLOSED — это проблема на моей стороне или на сервере?+
Откройте ту же страницу с телефона через мобильный интернет без VPN. Ошибка осталась — дело в сервере. Пропала — ищите причину у себя: VPN, прокси, антивирус с проверкой HTTPS, фильтр провайдера или роутер.
Чем ERR_CONNECTION_CLOSED отличается от ERR_CONNECTION_RESET?+
По исходнику Chromium CLOSED — это закрытие сигналом FIN, RESET — сброс сигналом RST. Но через прокси разница стирается: один и тот же сервер напрямую дал нам RESET, а через прокси — CLOSED, три раза из трёх.
Чем ERR_CONNECTION_CLOSED отличается от ERR_EMPTY_RESPONSE?+
Моментом закрытия. До конца TLS-рукопожатия — CLOSED. После рукопожатия, когда запрос уже отправлен, — EMPTY_RESPONSE. На http без шифрования закрытие после запроса всегда даёт EMPTY_RESPONSE.
Почему сайт открывается с телефона, но не с компьютера?+
Значит, сервер работает, а соединение рвёт что-то на компьютере или в его сети: VPN, прокси, антивирус, расширение браузера или корпоративный фильтр. Отключайте их по одному.
Помогает ли очистка кэша и сброс сети?+
Редко. Кэш хранит страницы, а не соединения. Сброс сетевых настроек стоит делать последним шагом, когда ошибка есть на всех сайтах сразу и другие шаги не помогли.
Как исправить ERR_CONNECTION_CLOSED на своём сайте?+
Проверить командой openssl s_client, проходит ли рукопожатие. Если сервер закрывает соединение сразу после приветствия браузера, ищите причину в настройке TLS, сертификате для этого имени, файрволе или защите от ботов, которая режет часть адресов.
Читайте также

Связанные материалы

SEO

ERR_CONNECTION_REFUSED: сайт отказал в соединении

ERR_CONNECTION_REFUSED значит, что сервер ответил отказом: машина на связи, но порт закрыт. Проверили 1764 сайта: 26 отказывают по https, и 15 из них при этом работают по http. Что делать посетителю и владельцу.

SEO

ERR_CONNECTION_RESET: соединение сброшено

ERR_CONNECTION_RESET значит, что соединение оборвали сигналом сброса — сервер, антивирус, прокси или сеть по пути. Проверили на стенде, чем сброс отличается от закрытия, и нашли сайт, который сбрасывает всегда. Что делать посетителю и владельцу.

SEO

ERR_CONNECTION_TIMED_OUT: сайт не ответил вовремя

ERR_CONNECTION_TIMED_OUT — браузер знает адрес сервера, но тот молчит. Мы проверили 1763 сайта Екатеринбурга: 26 не ответили, и у 11 из них причина не в том, что сервер лёг. Как отличить сеть, фильтр и сервер.

SEO

ERR_SSL_PROTOCOL_ERROR: браузер не договорился с сайтом о шифровании

ERR_SSL_PROTOCOL_ERROR — браузер и сервер не смогли начать защищённое соединение. Открыли в Chrome 22 адреса с такой поломкой и получили семь разных ошибок, среди них ERR_SSL_UNRECOGNIZED_NAME_ALERT. Что чинить у себя, а что у сайта.