
ERR_CONNECTION_TIMED_OUT означает, что браузер отправил запрос на соединение, но сервер так и не ответил за отведённое время. Отказа нет — пакеты теряются по дороге, отбрасываются файрволом или сервер перегружен. Сначала проверьте сайт извне: если он открывается у других, причина на вашей стороне (сеть, DNS, прокси, антивирус), если нет — на сервере.
Что значит ошибка ERR_CONNECTION_TIMED_OUT
Таймаут — это «тишина в ответ». Перед загрузкой страницы браузер устанавливает TCP-соединение: отправляет пакет SYN и ждёт ответа SYN-ACK. Если ответ не приходит, система повторяет попытку несколько раз и в итоге сдаётся. Это принципиально отличается от ERR_CONNECTION_REFUSED, где сервер отвечает мгновенным отказом: при отказе хотя бы понятно, что хост жив, а при таймауте неизвестно даже это.
Таймаут почти всегда связан с сетью или нагрузкой: пакеты не доходят, теряются на промежуточном узле, молча отбрасываются файрволом или сервер не успевает принять соединение.
Дословный перевод ERR_CONNECTION_TIMED_OUT на русский — «истекло время ожидания соединения». Одна и та же ошибка выглядит по-разному в зависимости от программы:
- Google Chrome: «Не удается получить доступ к сайту. Превышено время ожидания ответа от сайта» и ниже код
ERR_CONNECTION_TIMED_OUT. - Яндекс Браузер: «Не удаётся установить соединение с сайтом» с тем же кодом внизу страницы.
- Консоль разработчика и логи JavaScript:
net::ERR_CONNECTION_TIMED_OUTилиFailed to load resource: net::ERR_CONNECTION_TIMED_OUT— таймаут случился на отдельном ресурсе (скрипт, картинка, API), а не на всей странице. - Приложения и почтовые клиенты: «The connection to the server timed out», «Время соединения с сервером истекло».
Число 118 в запросах «err connection timed out 118» — это внутренний номер ошибки Chromium: ERR_CONNECTION_TIMED_OUT = -118. Полный список кодов есть в исходниках браузера — net_error_list.h.
Чем ERR_CONNECTION_TIMED_OUT отличается от похожих ошибок
| Ошибка | Что произошло | Где искать причину |
|---|---|---|
| ERR_CONNECTION_TIMED_OUT (-118) | Сервер не ответил на установку TCP-соединения | Сеть, файрвол с правилом DROP, закрытый порт, перегрузка |
| ERR_TIMED_OUT (-7) | Соединение было, но операция (ответ, чтение данных) не завершилась вовремя | Медленный бэкенд, обрывы канала, прокси |
| ERR_CONNECTION_REFUSED (-102) | Сервер сразу ответил отказом (RST) | На порту ничего не слушает, сервис остановлен |
| ERR_CONNECTION_RESET (-101) | Соединение открылось и было сброшено | Файрвол, антивирус, фильтрация трафика, сбой сервера |
| 504 Gateway Timeout | Прокси (nginx) дождался только таймаута от бэкенда | Приложение или база данных на сервере |
| 522 (Cloudflare) | CDN не смог соединиться с исходным сервером | Сервер сайта или его файрвол за Cloudflare |
Подробнее о соседних ошибках: ERR_CONNECTION_REFUSED, 504 Gateway Timeout и 522 Connection Timed Out.
Основные причины
- Сервер перегружен — высокий трафик, нехватка ресурсов, медленная БД, переполненная очередь входящих соединений.
- Firewall с правилом DROP — пакеты отбрасываются без ответа: на сервере, в облачной группе безопасности хостера или у вас на компьютере.
- Закрытый порт 443 или 80 — сайт работает по HTTPS, а порт закрыт правилом, которое молча отбрасывает трафик.
- Проблема маршрутизации — потеря пакетов на промежуточном хопе.
- Нестабильное соединение — Wi-Fi, мобильная сеть, перегруженный канал.
- Неверный адрес — DNS или файл hosts указывает на старый или несуществующий IP, где никто не отвечает.
- Прокси в системе — прописан адрес прокси, который больше не работает.
- Антивирус и его веб-защита — перехватывают соединения и зависают на проверке.
- Блокировка по гео или провайдером трафика к серверу.
Как проверить, у кого проблема: у вас или у сайта
Первым делом исключите вашу сторону. Проверка извне отвечает на главный вопрос за минуту:
- HTTP-проверка покажет, отвечает ли сайт с нашего сервера, код ответа и время ответа.
- Сканер портов проверит, открыты ли 80 и 443 снаружи — при DROP порт будет в статусе «filtered».
- Онлайн-traceroute покажет, на каком узле обрывается путь до сервера.
Если извне сайт открывается, а у вас — ERR_CONNECTION_TIMED_OUT, переходите к разделу для посетителя. Если таймаут видят все — к разделу для владельца сайта. Ещё быстрый тест — открыть сайт с телефона через мобильный интернет, не через ваш Wi-Fi.
Диагностика на стороне пользователя
Определите, доходят ли пакеты до сервера и где теряются:
ping example.com
traceroute example.com # macOS/Linux
tracert example.com # Windows
curl -I -v --max-time 15 https://example.com
Если ping проходит, но curl висит — проблема на уровне приложения или firewall. Если ping не проходит — смотрите traceroute, где обрывается путь. Учтите, что многие серверы не отвечают на ping намеренно, поэтому надёжнее проверить конкретный порт:
# Windows PowerShell
Test-NetConnection example.com -Port 443
# macOS / Linux
nc -vz -w 5 example.com 443
curl -sS -o /dev/null -w "%{http_code} %{time_connect}\n" --connect-timeout 10 https://example.com
В PowerShell смотрите на строку TcpTestSucceeded: False при успешном разрешении имени означает, что порт не отвечает. Как разбирать вывод по хопам, рассказано в статье «Traceroute: как читать вывод».
Как исправить ошибку ERR_CONNECTION_TIMED_OUT на компьютере
Шаги идут от быстрых к радикальным. После каждого проверяйте, открылся ли сайт.
- Сбросьте DNS-кэш:
ipconfig /flushdns(Windows) илиsudo dscacheutil -flushcache(macOS). - Отключите VPN, прокси и firewall клиента и повторите проверку.
- Переключитесь на мобильный интернет — исключите проблему провайдера.
- Перезагрузите роутер и проверьте стабильность Wi-Fi.
- Попробуйте другой DNS (1.1.1.1 или 8.8.8.8).
Проверьте прокси-сервер в системе
Прописанный и давно не работающий прокси — частая причина, когда не открывается ни один сайт или открываются не все. В Windows: Параметры → Сеть и Интернет → Прокси-сервер — выключите «Использовать прокси-сервер», если вы его не настраивали сознательно. То же в классическом окне: inetcpl.cpl → вкладка «Подключения» → «Настройка сети». Системный прокси для служб проверяется и сбрасывается командами:
netsh winhttp show proxy
netsh winhttp reset proxy
В macOS: Системные настройки → Сеть → ваше подключение → Подробнее → Прокси. Из терминала: networksetup -getwebproxy Wi-Fi и networksetup -getsecurewebproxy Wi-Fi.
Проверьте файл hosts
Строка в hosts с доменом сайта и чужим IP-адресом заставит браузер стучаться туда, где никто не отвечает. Файл лежит в C:\Windows\System32\drivers\etc\hosts (Windows) и /etc/hosts (macOS, Linux). Откройте его от имени администратора и удалите строки с нужным доменом, если вы их не добавляли.
Антивирус и брандмауэр
Временно отключите веб-защиту антивируса или функцию проверки защищённых соединений и попробуйте снова. Если сайт открылся — добавьте его в исключения, а не оставляйте защиту выключенной. В брандмауэре Windows проверьте, не заблокирован ли браузер: Панель управления → Брандмауэр Защитника Windows → Разрешение взаимодействия с приложением.
Сброс сетевых настроек Windows через netsh
Если не помогло ничего из перечисленного, сбросьте сетевой стек. Запустите командную строку от имени администратора и выполните по очереди:
ipconfig /flushdns
ipconfig /release
ipconfig /renew
netsh winsock reset
netsh int ip reset
После netsh winsock reset и netsh int ip reset нужна перезагрузка. Полный сброс есть и в интерфейсе: Параметры → Сеть и Интернет → Дополнительные сетевые параметры → Сброс сети (в Windows 10 — «Состояние → Сброс сети»). Он удалит сохранённые сети и настройки адаптеров, пароли от Wi-Fi придётся ввести заново.
В Linux с systemd-resolved кэш DNS очищается командой resolvectl flush-caches, в macOS вместе с dscacheutil стоит выполнить sudo killall -HUP mDNSResponder.
Не удаётся установить соединение с сайтом в Яндекс Браузере
Яндекс Браузер показывает ERR_CONNECTION_TIMED_OUT как «Не удаётся установить соединение с сайтом». Причины те же, что в Chrome, — браузеры работают на одном движке. Порядок действий:
- Откройте сайт в режиме инкогнито (
Ctrl+Shift+N). Если там он работает — виновато расширение: отключайте их по одному на страницеbrowser://tune. - Очистите кэш и cookies:
Ctrl+Shift+Del, период «За всё время». - Сбросьте внутренний DNS-кэш браузера: откройте
browser://net-internals/#dnsи нажмите «Clear host cache», затем на вкладке#sockets— «Flush socket pools». - Проверьте прокси: Яндекс Браузер берёт системные настройки, поэтому смотрите раздел выше.
- Если не открывается ни один сайт, а в других браузерах всё работает, сбросьте настройки: Настройки → Системные → Сбросить все настройки.
Официальная справка по ошибкам соединения — в документации Яндекс Браузера. Если соединение не устанавливается только с одним крупным сервисом (например, видеохостингом), а остальные сайты работают, дело не в настройках браузера — это ограничения доступа на стороне сети, и описанные шаги их не решат. Ошибки в играх вроде Roblox — отдельная тема, к браузерному таймауту они не относятся.
ERR_CONNECTION_TIMED_OUT на телефоне
- Переключитесь между Wi-Fi и мобильной сетью — это сразу покажет, виновата ли сеть.
- Android: Настройки → Сеть и интернет → «Частный DNS». Если там указан сервер, который не отвечает, переключите на «Автоматически». Проверьте прокси в свойствах Wi-Fi-сети.
- iPhone: Настройки → Wi-Fi → значок (i) у сети → «Настройка прокси» → «Выкл.».
- Очистите кэш браузера или откройте сайт в другом браузере.
Если ERR_CONNECTION_TIMED_OUT у всех: что делать владельцу сайта
Если таймаут видят все — проверьте нагрузку и firewall:
# Нагрузка и память
top
free -m
# Не отбрасывает ли firewall пакеты молча
sudo iptables -L -n -v | grep -i drop
sudo ufw status verbose
Увеличьте лимиты воркеров веб-сервера, оптимизируйте медленные запросы к БД и убедитесь, что firewall не блокирует легитимный трафик правилом DROP.
Закрыт порт 443 или 80
Убедитесь, что веб-сервер вообще слушает нужные порты, и откройте их в файрволе:
# Кто слушает 80 и 443
sudo ss -tlnp | grep -E ':(80|443)\b'
# UFW
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# firewalld
sudo firewall-cmd --permanent --add-service=http --add-service=https
sudo firewall-cmd --reload
# nftables — посмотреть все правила
sudo nft list ruleset
Если процесс не слушает порт, а файрвол открыт, клиент получит ERR_CONNECTION_REFUSED. Таймаут при закрытом порте — признак именно DROP. Проверьте и облачный файрвол хостинга (группы безопасности, сетевые правила в панели): он работает до сервера, и в iptables его не видно.
Заблокирован конкретный IP (fail2ban, защита от DDoS)
Если сайт недоступен только у одного человека или офиса, его IP мог попасть в бан после неудачных попыток входа или частых запросов:
sudo fail2ban-client status
sudo fail2ban-client status sshd
sudo fail2ban-client set sshd unbanip 203.0.113.10
Имя jail (sshd, nginx-limit-req и т. п.) берите из вывода первой команды.
Сервер перегружен и не успевает принимать соединения
Когда очередь входящих соединений переполнена, ядро отбрасывает новые SYN — снаружи это выглядит как таймаут. Посмотрите на слушающие сокеты:
ss -ltn # Recv-Q близко к Send-Q — очередь accept переполнена
ss -s # сводка по соединениям
sysctl net.core.somaxconn
Лечится масштабированием ресурсов, увеличением числа воркеров (PHP-FPM, приложения), параметра backlog в директиве listen nginx и net.core.somaxconn, а также кэшированием тяжёлых страниц.
DNS указывает не туда
После переезда на новый сервер часть посетителей может получать старый IP, где сайт уже не отвечает. Сравните, что отдаёт DNS, с реальным адресом сервера: dig +short example.com A и dig +short example.com AAAA. Отдельная ловушка — запись AAAA на IPv6-адрес, на котором сервер не слушает: у пользователей с IPv6 соединение может зависать. Проверка: curl -6 -I https://example.com.
Причины и решения
| Причина | Решение |
|---|---|
| Перегрузка сервера | Масштабировать ресурсы, оптимизировать БД |
| Firewall DROP | Заменить на REJECT для диагностики, открыть порт |
| Потеря пакетов в сети | Проверить traceroute, связаться с хостером |
| Нестабильный Wi-Fi | Перейти на кабель, перезагрузить роутер |
| Нерабочий прокси в системе | Выключить прокси в настройках ОС, netsh winhttp reset proxy |
| Старый IP в DNS или hosts | Очистить DNS-кэш, удалить строку из hosts, проверить A/AAAA |
| Антивирус перехватывает соединение | Отключить веб-защиту для проверки, добавить сайт в исключения |
| Блокировка провайдером | Проверить с другой сети, проверить домен и IP по реестру РКН |
Как предотвратить повторение
Таймауты часто плавающие: сайт то открывается, то нет. Поймать их вручную почти невозможно — нужен непрерывный мониторинг, который фиксирует медленные ответы и падения и шлёт алерт. Мультирегиональная проверка (RU/EU/US) сразу покажет, перегружен сервер глобально или проблема только в вашем регионе.
Проверьте ping и доступность портов, а HTTP-чекер покажет время ответа сервера. Если виноват DNS — загляните в DNS lookup. Подробнее — в руководстве по мониторингу.
Частые вопросы
Что означает ошибка ERR_CONNECTION_TIMED_OUT простыми словами?
Браузер постучался на сервер, но ответа так и не дождался. Сервер может быть выключен, перегружен, закрыт файрволом, или пакеты теряются по дороге.
Почему сайт иногда открывается, а иногда таймаутит?
Плавающий таймаут указывает на перегрузку сервера или нестабильную сеть. Под пиковой нагрузкой соединения встают в очередь и не успевают обработаться вовремя.
Сколько секунд ждёт браузер до таймаута?
Время установки соединения во многом определяет операционная система: число повторов пакета SYN и паузы между ними. В Linux за это отвечает net.ipv4.tcp_syn_retries (по умолчанию 6 повторов — около двух минут). Это слишком долго для пользователя, поэтому важно устранять причину, а не ждать.
Поможет ли смена DNS?
Если таймаут вызван медленным или сломанным DNS-резолвом — да. Попробуйте 1.1.1.1 или 8.8.8.8. Но при перегрузке сервера смена DNS не поможет.
Как отличить проблему сети от проблемы сервера?
traceroute покажет, где обрывается путь. Если обрыв на последнем хопе — проблема у сервера; если раньше — в сети между вами и им.
Чем ERR_TIMED_OUT отличается от ERR_CONNECTION_TIMED_OUT?
ERR_CONNECTION_TIMED_OUT — сервер не ответил на установку соединения. ERR_TIMED_OUT — соединение установлено, но ответ или данные не пришли вовремя; чаще это медленный бэкенд или прокси.