ERR_CONNECTION_FAILED означает, что браузер попытался подключиться к серверу сайта и не смог, а система не сообщила понятной причины. Это общий код: Chromium ставит его, когда ошибка подключения не подходит ни под один более точный вариант — отказ, таймаут, нет сети, запрет брандмауэра.
Мы разобрали по исходному коду Chromium, откуда берётся этот код, и проверили на стенде Chromium 149, какие ответы системы дают ERR_CONNECTION_FAILED, а какие — соседние ошибки. Главное открытие: на компьютере эта ошибка редкая, а на iPhone ею обозначается почти любая неудачная попытка подключиться.
Что означает ERR_CONNECTION_FAILED
В файле net_error_list.h, где перечислены все сетевые ошибки Chromium, у кода −104 одно описание:
A connection attempt failed.
Перевод: попытка соединения не удалась. Рядом стоят коды с точной причиной: CONNECTION_REFUSED −102 — отказ, CONNECTION_ABORTED −103 — соединение прервано, CONNECTION_TIMED_OUT −118 — нет ответа. ERR_CONNECTION_FAILED — то, что остаётся, когда точной причины нет.
Как это устроено, видно в socket_posix.cc и tcp_socket_win.cc. Когда системный вызов connect возвращает ошибку, браузер переводит её в свой код по таблице. Отдельно разобраны запрет доступа и таймаут, остальное идёт в общую таблицу. Если и там кода нет, получается ERR_FAILED, и тогда срабатывает строчка с комментарием «More specific than ERR_FAILED» — «точнее, чем ERR_FAILED»:
if (net_error == ERR_FAILED)
return ERR_CONNECTION_FAILED; // More specific than ERR_FAILED.
То есть ERR_CONNECTION_FAILED — это ERR_FAILED, про который известно хотя бы то, что сбой случился при подключении.
Как выглядит ошибка
В Chrome и Яндекс Браузере на экране:
Не удается получить доступ к сайту
Сайт 127.0.0.1 недоступен.
ERR_CONNECTION_FAILED
Внизу кнопка «Перезагрузить». По настройкам экрана в localized_error.cc браузер предлагает запустить диагностику сети и, если вы в публичной Wi-Fi, войти в неё через страницу авторизации.
Если ошибка случилась не со страницей, а с отдельным файлом — картинкой, скриптом, запросом к API, — экрана не будет. В консоли разработчика появится строка «Failed to load resource: net::ERR_CONNECTION_FAILED», а запрос fetch завершится ошибкой «TypeError: Failed to fetch».
Стенд: какие ответы системы дают эту ошибку
Мы подставляли браузеру разные ответы системы на попытку подключиться — перехватчиком вызова connect в Linux. Сервер на этих портах не запускали: ответ давал перехватчик.
| Что вернула система | Что показал Chromium 149 | Время |
|---|---|---|
| EIO — ошибка ввода-вывода | ERR_CONNECTION_FAILED | 0,02 с |
| ELOOP | ERR_CONNECTION_FAILED | 0,06 с |
| ENONET — машина не в сети | ERR_CONNECTION_FAILED | 0,02 с |
| EPROTO — ошибка протокола | ERR_CONNECTION_FAILED | 0,02 с |
| EPROTONOSUPPORT | ERR_CONNECTION_FAILED | 0,04 с |
| ESHUTDOWN | ERR_CONNECTION_FAILED | 0,02 с |
| EREMOTEIO | ERR_CONNECTION_FAILED | 0,02 с |
| ECONNREFUSED — отказ | ERR_CONNECTION_REFUSED | 0,05 с |
| EACCES — запрет | ERR_NETWORK_ACCESS_DENIED | замер статьи 359 |
Все семь «необычных» ответов дали один и тот же код за сотые доли секунды. Браузер не ждёт и не повторяет попытку: система сразу сказала «не получилось», и этого достаточно. Отсюда практический вывод: ERR_CONNECTION_FAILED появляется мгновенно. Если страница долго грузилась, а потом показала ошибку, это скорее таймаут, и код будет другим.
Почему на iPhone эта ошибка встречается чаще
В Chrome для iPhone и iPad страницы открывает движок WebKit, и ошибки приходят от системы iOS. Перевод в коды Chromium записан в error_translation_util.mm:
case kCFURLErrorCannotConnectToHost:
*net_error_code = net::ERR_CONNECTION_FAILED;
Ошибка iOS «Cannot connect to host» — не удалось подключиться к хосту — обобщает многие случаи: сервер отказал, порт закрыт, адрес недоступен. На компьютере каждый из них получил бы свой код, а на iPhone все становятся ERR_CONNECTION_FAILED. Там же этим кодом обозначается ошибка kCFURLErrorCallIsActive — соединение не удалось, потому что идёт телефонный звонок.
Поэтому, если ошибка у посетителя на iPhone, ищите причину так же, как для ERR_CONNECTION_REFUSED: работает ли сервер, открыт ли порт, не мешает ли VPN.
Почему возникает ERR_CONNECTION_FAILED на компьютере
На Windows в таблице net_errors_win.cc нет, например, кодов WSAEHOSTDOWN («узел не работает»), WSAEPROVIDERFAILEDINIT и WSASYSCALLFAILURE — последние два означают сбой поставщика Winsock, сетевой подсистемы Windows. Все они при подключении превращаются в ERR_CONNECTION_FAILED. Отсюда типичные причины:
- Повреждён каталог Winsock. VPN-клиенты, антивирусы и программы для фильтрации трафика встраиваются в сетевую подсистему. После неудачного удаления или обновления такой программы подключения падают с необычными ошибками.
- VPN или прокси. Программа перехватывает соединение и не может его установить.
- Антивирус или сетевой экран с проверкой трафика вмешивается в подключение.
- Сетевой адаптер или драйвер. Адаптер в неисправном состоянии отдаёт ошибки, которые браузер не распознаёт.
- Ошибка самого браузера или расширения. Расширения с VPN и блокировкой могут прерывать запросы.
Если ошибка появляется на одном сайте, а остальные открываются, дело скорее в сайте или в маршруте до него. Если на всех — в компьютере или сети.
Как проверить, что проблема не на стороне сайта
- Откройте сайт с другого устройства через мобильный интернет, не через ту же Wi-Fi. Если открылся — сайт работает.
- Откройте сайт в другом браузере на том же компьютере. Если там работает, причина в настройках или расширениях первого браузера.
- Проверьте другие сайты. Если не открывается ничего, проблема в подключении.
- Проверьте подключение командой. В командной строке выполните
curl -v https://адрес-сайта/. Если curl подключился, сервер принимает соединения, а проблема в браузере.
Как определить конкретную причину
Код ERR_CONNECTION_FAILED причину не называет, но браузер её помнит. Номер системной ошибки записывается в журнал сети Chrome:
- Откройте новую вкладку и введите в адресной строке
chrome://net-export/. - Нажмите «Start Logging to Disk» и выберите, куда сохранить файл.
- Во второй вкладке откройте сайт с ошибкой и дождитесь её появления.
- Вернитесь и нажмите «Stop Logging».
- Откройте файл в просмотрщике netlog-viewer.appspot.com, раздел Events, и найдите событие TCP_CONNECT_ATTEMPT.
На нашем стенде в этом событии было поле os_error: 71 — номер ошибки
EPROTO, которую мы подставили, — а в следующем событии TCP_CONNECT уже
net_error: -104. По номеру ошибки можно найти её описание в
документации системы: на Windows это коды WSAE с номерами от 10000, на
Linux и Android — коды errno. Так становится ясно, что именно мешает
подключению, вместо того чтобы перебирать все способы подряд.
Как исправить ERR_CONNECTION_FAILED: пошаговая инструкция
1. Перезагрузите страницу, роутер и компьютер
Нажмите «Перезагрузить» или F5. Если не помогло, выключите роутер на 30 секунд и перезагрузите компьютер: это сбрасывает состояние сетевого адаптера.
2. Отключите VPN и прокси
Выключите VPN-клиент. Проверьте прокси в Windows: «Параметры» → «Сеть и Интернет» → «Прокси-сервер» — отключите «Использовать прокси-сервер», если прокси вам не нужен. В Chrome прокси берётся из настроек системы: «Настройки» → «Система» → «Открыть настройки прокси-сервера для компьютера». Если прокси задан расширением или политикой организации, настройки будут недоступны — про это есть разбор ERR_PROXY_CONNECTION_FAILED.
Если ошибка появилась после установки VPN или программы для
«ускорения интернета», проверьте прокси и в старом окне настроек.
Нажмите сочетание клавиш Win+R, введите inetcpl.cpl и нажмите Enter.
Перейдите на вкладку «Подключения» → «Настройка сети». Снимите флажок
«Использовать прокси-сервер для локальных подключений» и поставьте
галочку «Автоматическое определение параметров». Нажмите «ОК», чтобы
сохранить изменение.
3. Запустите средство устранения неполадок сети
В Windows 11: «Параметры» → «Система» → «Устранение неполадок» → «Другие средства устранения неполадок» → «Сетевые подключения» или «Сетевой адаптер». Средство проверит адаптер и сбросит его при необходимости.
4. Сбросьте Winsock и настройки TCP/IP
Запустите командную строку от имени администратора и выполните:
netsh winsock reset
netsh int ip reset
ipconfig /flushdns
Перезагрузите компьютер. Первая команда восстанавливает каталог Winsock — именно его повреждение даёт ошибки, которые Chromium не узнаёт.
5. Смените DNS-серверы
Чтобы прописать DNS вручную, нажмите Win+R, введите ncpa.cpl и нажмите
Enter. Откроется окно сетевых подключений. Нажмите правой кнопкой на
своё подключение, выберите «Свойства», затем «IP версии 4 (TCP/IPv4)» →
«Свойства». Отметьте «Использовать следующие адреса DNS-серверов» и
укажите 77.88.8.8 или 8.8.8.8. Само по себе это не исправит сбой подключения,
но исключит ситуацию, когда DNS провайдера даёт неверный адрес.
6. Временно отключите антивирус
Отключите защиту и сетевой экран антивируса на 10–15 минут. Если сайт открылся, верните защиту и добавьте браузер в исключения проверки трафика.
7. Отключите расширения
Откройте chrome://extensions/ и отключите все расширения, затем
включайте по одному. Быстрая проверка — режим инкогнито: в нём
расширения по умолчанию выключены.
8. Очистите кэш и сбросьте настройки браузера
В Chrome: «Настройки» → «Конфиденциальность и безопасность» → «Удалить данные о работе в браузере», отметьте кэш и cookie. Если не помогло — «Настройки» → «Сброс настроек» → «Восстановление настроек по умолчанию». Ошибка подключения случается до того, как браузер берёт что-то из кэша, поэтому этот шаг помогает редко, но он безопасен.
9. Сбросьте сеть Windows
В Windows 10 и 11: «Параметры» → «Сеть и Интернет» → «Дополнительные сетевые параметры» → «Сброс сети». Сетевые адаптеры удалятся и установятся заново, VPN-адаптеры придётся настроить снова.
10. Обновите или переустановите браузер
Откройте chrome://settings/help — Chrome проверит обновления и
установит их сам. Если ошибка появилась сразу после обновления и не
уходит, переустановите браузер: удалите его через «Параметры» →
«Приложения», скачайте установщик с сайта google.com/chrome и
установите заново. Закладки и пароли сохранятся, если включена
синхронизация с профилем Google.
11. Проверьте компьютер на вирусы
Вредоносные и рекламные программы встраиваются в сетевую подсистему так же, как VPN, и часто ставят свой прокси. Просканируйте компьютер полной проверкой антивируса или утилитой вроде Dr.Web CureIt!, затем проверьте прокси ещё раз: после удаления программы он мог остаться.
Если ошибка в корпоративной сети
В корпоративных сетях между компьютером и интернетом обычно стоят промежуточные узлы: прокси, фильтры, сетевые экраны. Ограничения на доступ к сайтам задаёт администратор, и сообщение об ошибке может быть любым, в том числе ERR_CONNECTION_FAILED. Проверьте, открывается ли сайт с телефона через мобильный интернет. Если да, обратитесь к администратору: назовите адрес сайта, код ошибки и время, когда она появилась. Менять настройки прокси на рабочем компьютере самому не стоит.
Если ошибка в Яндекс Браузере
Яндекс Браузер работает на Chromium, и код ошибки там тот же. Шаги подходят полностью. Сбросить настройки: «Настройки» → «Системные» → «Сбросить все настройки». Отдельно проверьте расширения с VPN, если вы их ставили.
Если ошибка на телефоне
iPhone. Как показано выше, здесь этим кодом обозначается почти любая неудачная попытка подключиться. Переключитесь между Wi-Fi и мобильным интернетом, отключите VPN в «Настройках» и откройте сайт в Safari. Если ошибка только на одном сайте, проблема скорее на сервере.
Android. В Chrome для Android действует тот же код, что на компьютере. Переключите сеть, отключите VPN, очистите данные Chrome в настройках приложения.
Приложения. В приложениях на Android со встроенным браузером WebView эта ошибка приходит разработчику как ERROR_CONNECT — так записано в AwWebResourceError.java. Человек видит экран ошибки самого приложения.
ERR_CONNECTION_FAILED в автотестах и DevTools
В протоколе DevTools у команды Fetch.failRequest есть причина
ConnectionFailed: в fetch_handler.cc она превращается в
ERR_CONNECTION_FAILED. Через неё работают инструменты тестирования. На
стенде мы прервали запрос в Playwright командой
route.abort('connectionfailed') — и получили ровно эту ошибку.
Если ERR_CONNECTION_FAILED появляется только в автотестах, проверьте, не перехватывает ли тест запросы к этому адресу и не осталось ли правило от прошлого теста.
Что делать владельцу сайта
Если посетители жалуются на эту ошибку, особенно с iPhone:
- Проверьте, что сервер принимает соединения на портах 80 и 443 — из внешней сети, а не только изнутри.
- Посмотрите, не блокирует ли брандмауэр сервера или защита от атак часть адресов: отказ на iPhone станет ERR_CONNECTION_FAILED.
- Проверьте записи DNS: адрес должен вести на работающий сервер, а не на старый после переезда.
- Сверьтесь с журналом сервера: если запросов от этих посетителей там нет, соединение не доходит до сервера вовсе.
Источники
- Chromium, net/base/net_error_list.h — CONNECTION_FAILED −104
- Chromium, net/socket/socket_posix.cc и net/socket/tcp_socket_win.cc — перевод ошибок connect, «More specific than ERR_FAILED»
- Chromium, net/base/net_errors_posix.cc и net/base/net_errors_win.cc — таблицы системных ошибок
- Chromium, ios/web/util/error_translation_util.mm — ошибки iOS
- Chromium, components/error_page/common/localized_error.cc — экран ошибки
- Chromium, android_webview/…/AwWebResourceError.java — ERROR_CONNECT в WebView
- Chromium, content/browser/devtools/protocol/fetch_handler.cc — Fetch.failRequest
Похожие ошибки
| Ошибка | Что случилось |
|---|---|
| ERR_CONNECTION_FAILED | подключение не удалось, причина не распознана |
| ERR_FAILED | сбой без уточнения, не обязательно при подключении |
| ERR_CONNECTION_REFUSED | сервер или фильтр отказал в соединении |
| ERR_NETWORK_ACCESS_DENIED | система запретила браузеру подключение |
| ERR_PROXY_CONNECTION_FAILED | нет связи с прокси-сервером |
| ERR_TUNNEL_CONNECTION_FAILED | прокси не открыл туннель для HTTPS |
| ERR_CONNECTION_TIMED_OUT | сервер не ответил вовсе |
Границы замера
Стенд — Chromium 149 под Linux, 18.10.2026. Ответы системы мы подставляли перехватчиком вызова connect: в реальной сети такие ошибки возникают редко, и мы их не воспроизводили. Поведение на Windows и iPhone описано по исходному коду Chromium, на этих системах мы не проверяли. Пути в настройках Windows приведены для Windows 10 и 11.
Коротко
ERR_CONNECTION_FAILED значит, что подключиться к серверу не удалось, а система не объяснила причину. Ошибка появляется сразу, без ожидания. На компьютере она редкая и чаще связана с VPN, антивирусом или повреждённым Winsock: отключите их и выполните netsh winsock reset. На iPhone этим кодом показывается почти любая неудачная попытка подключиться — там проверяйте сеть, VPN и сам сайт.
