ERR_CONNECTION_CLOSED: что значит и как исправить

Advertisement
Что такое ERR_CONNECTION_CLOSED?
ERR_CONNECTION_CLOSED — ошибка Chrome и Edge с текстом «Не удается получить доступ к сайту. Сайт example.com неожиданно разорвал подключение». В Chromium это сетевая ошибка -100, определённая как «соединение было закрыто (соответствует TCP FIN)».
FIN — вежливый способ завершить TCP-соединение. Это противоположность сбросу: ничего не упало и никого не убили, одна сторона просто сказала «я закончил» и положила трубку. Проблема во времени. Другая сторона положила трубку до того, как браузер получил страницу, поэтому показывать было нечего.
Что-то решило завершить ваше соединение раньше времени. Это может быть сервер сайта, CDN перед ним, фильтр в вашей сети или программа на вашем компьютере. Решения ниже помогут понять, что именно.
Где происходит закрытие: обычно во время HTTPS-рукопожатия
Сетевой код Chromium подсказывает, куда смотреть. Когда соединение завершается во время TLS-рукопожатия (HTTPS), слой шифрования превращает это завершение в ERR_CONNECTION_CLOSED. Когда же запрос по новому соединению прошёл, а сервер закрыл его без ответа, Chrome сообщает ERR_EMPTY_RESPONSE.
Кроме того, Chrome автоматически повторяет запрос, если старое, повторно используемое соединение закрылось прямо под ним, поэтому из-за этого ошибку вы видите редко. В итоге страница ERR_CONNECTION_CLOSED на HTTPS-сайте обычно означает, что кто-то положил трубку, пока устанавливалось защищённое соединение. Это указывает на того, кто обрабатывает TLS на пути: HTTPS-сканер антивируса, VPN или прокси, фильтрующее устройство в вашей сети, CDN сайта или конфигурацию TLS веб-сервера.
Advertisement
Причины ERR_CONNECTION_CLOSED
| Причина | Сторона | Признак |
|---|---|---|
| VPN или прокси завершает соединения | Вы | Не открывается ни один HTTPS-сайт или только при включённом VPN |
| Проверка HTTPS в антивирусе | Вы | Работает в другом профиле браузера или после приостановки веб-защиты |
| Сетевой фильтр блокирует домен (учёба, работа, провайдер) | Сеть | Не открывается один сайт и только в одной сети |
| На сервере нет сертификата для этого имени хоста (SNI) | Сайт | Не открывается у всех; часто только с www или только без www |
| Устаревшие или слишком строгие настройки TLS на сервере | Сайт | Не работает в одних браузерах или на одних устройствах, но работает в других |
| Лимиты соединений сервера или CDN, защита от DDoS | Сайт | Не работает под нагрузкой или из определённых стран |
| Повреждённые сетевые настройки | Вы | Не открываются несколько сайтов только на одном устройстве |
Решение 1: попробуйте другую сеть, чтобы найти виновника
Откройте страницу на телефоне через мобильный интернет (Wi-Fi выключен) или на другом компьютере в другой сети.
В другом месте работает: соединение закрывает ваше устройство или ваша сеть. Переходите к решениям 2–6.
Не работает нигде: трубку кладёт сервер сайта или CDN. Исправить это может только владелец. Если это ваш сайт, переходите к разделу для владельцев сайтов ниже.
Проверьте сертификат снаружи: SSL Checker от DNS Robot подключается к сайту с наших серверов и показывает, проходит ли HTTPS-рукопожатие и какой сертификат отдаётся.
Advertisement
Решение 2: выключите VPN и прокси
VPN-серверы и прокси обрабатывают каждое ваше соединение, и когда они перегружены или заблокированы, часто завершают соединения прямо на рукопожатии. Полностью отключите VPN, затем проверьте прокси:
Windows 11: Параметры → Сеть и Интернет → Прокси-сервер → в разделе «Настройка прокси вручную» выключите Использовать прокси-сервер.
macOS: Системные настройки → Сеть → ваше подключение → Подробнее… → Прокси → выключите их.
Расширения браузера, работающие как VPN или прокси, тоже считаются. Проверьте в окне инкогнито, где расширения по умолчанию отключены.
Решение 3: приостановите проверку HTTPS в антивирусе
Защитные пакеты, проверяющие зашифрованный трафик, встраиваются в каждое HTTPS-рукопожатие. Если сканер не может договориться с сайтом — например, из-за новой функции TLS или необычного сертификата, — он часто просто закрывает соединение.
Найдите настройку с названием проверка HTTPS, веб-экран (Web Shield), фильтрация протоколов SSL/TLS или проверка защищённых соединений, выключите только её и обновите страницу. Если страница загрузилась, добавьте сайт в исключения и снова включите проверку. Обновление антивируса часто решает проблему навсегда.
Advertisement
Решение 4: смените DNS, чтобы исключить фильтрацию
Некоторые провайдеры и сетевые фильтры блокируют сайты, направляя домен на свой сервер, который затем обрывает HTTPS-соединения, которые не может обслужить. Если DNS Lookup от DNS Robot возвращает для сайта другие IP-адреса, чем ваш компьютер (nslookup example.com), ваш резолвер вас перенаправляет.
Переключитесь на публичный резолвер — Cloudflare (1.1.1.1), Google (8.8.8.8) или Quad9 (9.9.9.9), — затем очистите DNS-кеш и попробуйте снова. Если ваша сеть блокирует ещё и зашифрованный DNS, читайте статью «Эта сеть блокирует зашифрованный DNS-трафик».
Решение 5: очистите состояние SSL, пулы сокетов и данные браузера
Пулы сокетов Chrome: откройте
chrome://net-internals/#socketsи нажмите Flush socket pools, чтобы Chrome перестал повторно использовать возможно устаревшие соединения.Состояние SSL в Windows: нажмите Win + R, введите
inetcpl.cpl, откройте вкладку Содержание и нажмите Очистить SSL (Clear SSL state).Данные сайта: нажмите значок слева от адресной строки → Настройки сайтов → Удалить данные, чтобы cookie и кеш этого сайта начались с чистого листа.
Обновите браузер: перейдите на
chrome://settings/help. Старые сборки могут не проходить рукопожатие с серверами, использующими новые функции TLS.
Advertisement
Решение 6: сбросьте сетевой стек и перезагрузите роутер
Если несколько сайтов не открываются только на одном устройстве, сбросьте его сетевую конфигурацию. Перезагрузите и роутер — это очистит его таблицу соединений. В Windows выполните эти команды в командной строке от имени администратора, затем перезагрузите компьютер:
netsh winsock reset
netsh int ip reset
ipconfig /release
ipconfig /renew
ipconfig /flushdnsВ Windows 11 также есть Параметры → Сеть и Интернет → Дополнительные сетевые параметры → Сброс сети — эта функция переустанавливает сетевые адаптеры. На Mac удалите сеть Wi-Fi в Системные настройки → Wi-Fi и подключитесь к ней заново.
Как исправить ERR_CONNECTION_CLOSED на Android и iPhone
Смените сеть: с Wi-Fi на мобильный интернет или наоборот, чтобы понять, замешан ли сетевой фильтр.
Выключите VPN, блокировщики рекламы и приложения «безопасности». Многие из них пропускают трафик через локальный VPN и проверяют его.
Персональный DNS на Android: Настройки → Сеть и интернет → Персональный DNS-сервер (Private DNS) → Автоматически. Что делает каждый вариант, объясняется в руководстве по Private DNS.
Обновите Chrome или Safari через магазин приложений, а также обновите операционную систему, если она отстаёт на несколько версий.
Сбросьте сетевые настройки: на iPhone — Настройки → Основные → Перенос или сброс iPhone → Сбросить → Сбросить настройки сети. На Android — Настройки → Система → Сброс настроек → Сбросить настройки Bluetooth и Wi-Fi (Reset Bluetooth & Wi-Fi), а также Сбросить настройки мобильной сети, если не работает и мобильный интернет.
Владельцам сайтов: почему ваш сервер кладёт трубку
Если ERR_CONNECTION_CLOSED получают посетители из многих сетей, проверьте TLS-рукопожатие сами с машины вне вашей сети. openssl s_client точно покажет, где оно останавливается:
SNI и сертификаты: для каждого имени хоста, которое используют посетители, — и
example.com, иwww.example.com— нужны записьserver_nameи покрывающий его сертификат. Имена хостов, попадающие в блок server по умолчанию без сертификата, часто получают закрытое рукопожатие.Протоколы: поддерживайте
TLSv1.2иTLSv1.3. Очень старые конфигурации, предлагающие только TLS 1.0/1.1, или необычные списки шифров не работают с современными браузерами. SSL Checker покажет сертификат и цепочку, которые получают посетители.Лимиты соединений: если nginx пишет в лог
worker_connections are not enoughили срабатываетconnlimitфайрвола либо правило защиты от DDoS, новые соединения под нагрузкой отбрасываются или закрываются. Поднимите лимиты или найдите источник трафика.CDN и WAF: проверьте события безопасности CDN для пострадавших посетителей. Защита от ботов и правила геоблокировки могут закрывать соединения из целых регионов.
Логи: ищите в логе ошибок веб-сервера строки
SSL_do_handshake() failedв момент жалоб. Большинство сбоев рукопожатия на стороне клиента nginx пишет на уровнеinfo, поэтому при стандартном уровнеerrorвы можете ничего не увидеть: на время расследования установитеerror_log /var/log/nginx/error.log info;.
# Полное рукопожатие с SNI (имя хоста, которое используют посетители)
openssl s_client -connect example.com:443 -servername example.com </dev/null
# Хорошо: цепочка сертификатов, "Verify return code: 0 (ok)", строка протокола TLSv1.3 или TLSv1.2
# Плохо: "unexpected eof while reading" или "no peer certificate available"
# = сервер (или что-то перед ним) закрыл рукопожатие
# Проверка конкретной версии протокола
openssl s_client -connect example.com:443 -servername example.com -tls1_2 </dev/nullЗатем проверьте по порядку:
ERR_CONNECTION_CLOSED, RESET, EMPTY_RESPONSE и SSL-ошибки: в чём разница
| Ошибка | Код | Что произошло |
|---|---|---|
| ERR_CONNECTION_CLOSED | -100 | Штатное закрытие (FIN) до получения страницы, обычно во время HTTPS-рукопожатия |
| ERR_CONNECTION_RESET | -101 | Резкий обрыв (RST) открытого соединения |
| ERR_EMPTY_RESPONSE | -324 | Запрос отправлен, затем соединение закрыто без единого байта в ответ |
| ERR_SSL_PROTOCOL_ERROR | -107 | TLS-рукопожатие нарушило правила протокола |
| ERR_SSL_VERSION_OR_CIPHER_MISMATCH | -113 | Нет общей версии TLS или общего шифра |
Связанные руководства: ERR_CONNECTION_RESET, ERR_SSL_PROTOCOL_ERROR, ERR_SSL_VERSION_OR_CIPHER_MISMATCH и ERR_CONNECTION_REFUSED.
Проходит ли HTTPS-рукопожатие сайта снаружи?
Бесплатный SSL Checker от DNS Robot подключается к любому домену с наших серверов и показывает сертификат, цепочку и срок действия. Если у нас соединение проходит, а у вас закрывается, проблема на вашей стороне.
Попробовать SSL CheckerAdvertisement
Часто задаваемые вопросы
Это значит, что сервер или что-то между вами и сервером завершило соединение обычным закрытием TCP (FIN) до того, как браузер получил страницу. В Chromium это сетевая ошибка -100. На HTTPS-сайтах это обычно происходит во время TLS-рукопожатия.