Skip to content

Таймаут соединения — что значит и как исправить

Таймаут соединения (connection timeout) — это когда клиент попытался подключиться к серверу, но не дождался ответа за установленное время. В отличие от ошибок 5xx (сервер ответил с ошибкой), при таймауте сервер вообще не отвечает. Для мониторинга это самая тревожная ситуация.

  • 🚨 Сайт не открывается, в браузере «Время ожидания истекло»
  • 🔍 Причина — сервер не принимает соединение за установленное время
  • 🛠️ Чаще всего: сервер упал, перегружен, заблокирован файрволом
  • ⏱️ Monisite ждёт 15 секунд → если нет ответа, считает DOWN

Чем таймаут отличается от других ошибок

Section titled “Чем таймаут отличается от других ошибок”
СимптомЧто значит
5xx (500/502/503)Сервер ответил с ошибкой
DNS errorНе удалось получить IP сервера
Connection refusedСервер ответил «не принимаю соединения» (порт закрыт)
ТаймаутСервер вообще молчит, ничего не отвечает

Молчание — самый плохой сигнал. Сервер либо упал, либо перегружен настолько что не успевает даже отвергнуть соединение.

1. Сервер физически упал

Section titled “1. Сервер физически упал”

Hardware failure, отключение питания в датацентре, kernel panic. Машина не работает.

2. Hostера блокирует трафик

Section titled “2. Hostера блокирует трафик”

DDoS-защита провайдера решила что вы под атакой и режет всё что приходит. Сервер живой, но недоступен.

3. Файрвол блокирует подключение

Section titled “3. Файрвол блокирует подключение”

iptables/ufw настроен с дрожащими руками — заблокирован порт 443 или весь IP проверяющего.

CPU 100%, диск под 100% I/O. Система просто не успевает обрабатывать новые соединения.

Кто-то заваливает SYN-пакетами, очередь полна, новые TCP-соединения не устанавливаются.

6. Сетевая проблема у провайдера

Section titled “6. Сетевая проблема у провайдера”

Маршрут до сервера сломался, пакеты теряются в пути.

Веб-сервер запущен, но висит в каком-то deadlock. Принимать соединения не может.

TCP соединение установилось, но при обмене ключами SSL сервер замолчал. Бывает при перегруженном сервере с TLS 1.3.

1. Попробовать подключиться разными способами:

Terminal window
# Базовый ping (если ICMP открыт)
ping example.com
# Подключение к порту 443
nc -zv example.com 443
# Полноценный HTTPS-запрос с verbose
curl -v https://example.com --max-time 30

Если ping идёт, но HTTPS таймаут — сервер живой, но веб-сервер не работает.

Если ping тоже не идёт — упало всё (или ICMP закрыт).

2. SSH на сервер (если есть доступ):

Если SSH тоже таймаутит — сервер физически недоступен. Звоните хостеру.

Если SSH работает — значит, проблема в веб-сервере:

Terminal window
sudo systemctl status nginx
sudo ss -tlnp | grep ':443'
top

3. Проверить через сторонние сервисы:

Если в одном регионе работает, в другом нет — географическая проблема. Возможно, геоблокировка или маршрутизация.

4. traceroute:

Terminal window
traceroute example.com
mtr example.com

Покажет где обрывается маршрут — у вашего провайдера, в магистрали, или у хостинга.

Сценарий A: сервер упал полностью

Перезагрузить через панель хостера (через iDRAC/IPMI у dedicated, через VNC у VPS). Если не помогает — обращение в поддержку хостинга.

Сценарий B: nginx завис, но сервер жив (есть SSH)

Terminal window
sudo systemctl restart nginx
sudo systemctl status nginx

Сценарий C: перегрузка

Найти процесс который ест ресурсы:

Terminal window
top
iotop
ps aux --sort=-%cpu | head -20

Часто причина — какой-то скрипт в бесконечном цикле, или backup в неудачное время.

Сценарий D: блокировка файрволом

Проверить правила:

Terminal window
sudo iptables -L -n -v
sudo ufw status verbose

Если видите блокировку нужного IP/порта — исправить правило.

Сценарий E: DDoS у хостера

Обратиться в поддержку хостинга. Часто они автоматически блокируют атакуемый IP «в защиту инфраструктуры», и нужно вручную попросить разблокировать.

Если таймаут только в одном регионе

Section titled “Если таймаут только в одном регионе”

Бывает что сайт виден из Москвы, но не виден из Амстердама (или наоборот). Это признаки:

  • Геоблокировка — вы намеренно или нет заблокировали IP-диапазон какой-то страны
  • DPI у провайдера — российские провайдеры иногда странно фильтруют исходящий трафик
  • Сетевые сбои у магистральных операторов

Monisite специально проверяет из 3 регионов, чтобы такие ситуации не приводили к ложным алертам (см. Защита от ложных срабатываний).

Таймаут — самая серьёзная ошибка. Если ваш сайт не открывается уже несколько минут:

  1. Срочно свяжитесь с хостером
  2. Проверьте оплачен ли хостинг (часто причина — закончился баланс)
  3. Проверьте оплачен ли домен (может закончилась регистрация)

При таймауте на одном региона из трёх — мы не шлём алерт (это false positive). При таймауте во всех трёх — сразу уведомление.

Monisite:

  • Видит таймаут как DOWN если все 3 региона согласны
  • Показывает в дашборде из каких регионов виден таймаут
  • В истории — точное время начала проблемы

Подключить мониторинг →