Таймаут соединения — что значит и как исправить
Таймаут соединения (connection timeout) — это когда клиент попытался подключиться к серверу, но не дождался ответа за установленное время. В отличие от ошибок 5xx (сервер ответил с ошибкой), при таймауте сервер вообще не отвечает. Для мониторинга это самая тревожная ситуация.
- 🚨 Сайт не открывается, в браузере «Время ожидания истекло»
- 🔍 Причина — сервер не принимает соединение за установленное время
- 🛠️ Чаще всего: сервер упал, перегружен, заблокирован файрволом
- ⏱️ Monisite ждёт 15 секунд → если нет ответа, считает DOWN
Чем таймаут отличается от других ошибок
Section titled “Чем таймаут отличается от других ошибок”| Симптом | Что значит |
|---|---|
| 5xx (500/502/503) | Сервер ответил с ошибкой |
| DNS error | Не удалось получить IP сервера |
| Connection refused | Сервер ответил «не принимаю соединения» (порт закрыт) |
| Таймаут | Сервер вообще молчит, ничего не отвечает |
Молчание — самый плохой сигнал. Сервер либо упал, либо перегружен настолько что не успевает даже отвергнуть соединение.
Частые причины
Section titled “Частые причины”1. Сервер физически упал
Section titled “1. Сервер физически упал”Hardware failure, отключение питания в датацентре, kernel panic. Машина не работает.
2. Hostера блокирует трафик
Section titled “2. Hostера блокирует трафик”DDoS-защита провайдера решила что вы под атакой и режет всё что приходит. Сервер живой, но недоступен.
3. Файрвол блокирует подключение
Section titled “3. Файрвол блокирует подключение”iptables/ufw настроен с дрожащими руками — заблокирован порт 443 или весь IP проверяющего.
4. Перегрузка
Section titled “4. Перегрузка”CPU 100%, диск под 100% I/O. Система просто не успевает обрабатывать новые соединения.
5. SYN flood
Section titled “5. SYN flood”Кто-то заваливает SYN-пакетами, очередь полна, новые TCP-соединения не устанавливаются.
6. Сетевая проблема у провайдера
Section titled “6. Сетевая проблема у провайдера”Маршрут до сервера сломался, пакеты теряются в пути.
7. Зависший nginx/Apache
Section titled “7. Зависший nginx/Apache”Веб-сервер запущен, но висит в каком-то deadlock. Принимать соединения не может.
8. SSL handshake завис
Section titled “8. SSL handshake завис”TCP соединение установилось, но при обмене ключами SSL сервер замолчал. Бывает при перегруженном сервере с TLS 1.3.
Как диагностировать
Section titled “Как диагностировать”1. Попробовать подключиться разными способами:
# Базовый ping (если ICMP открыт)ping example.com
# Подключение к порту 443nc -zv example.com 443
# Полноценный HTTPS-запрос с verbosecurl -v https://example.com --max-time 30Если ping идёт, но HTTPS таймаут — сервер живой, но веб-сервер не работает.
Если ping тоже не идёт — упало всё (или ICMP закрыт).
2. SSH на сервер (если есть доступ):
Если SSH тоже таймаутит — сервер физически недоступен. Звоните хостеру.
Если SSH работает — значит, проблема в веб-сервере:
sudo systemctl status nginxsudo ss -tlnp | grep ':443'top3. Проверить через сторонние сервисы:
- downforeveryoneorjustme.com — проверяет ваш сайт извне
- check-host.net — проверка из разных регионов мира
Если в одном регионе работает, в другом нет — географическая проблема. Возможно, геоблокировка или маршрутизация.
4. traceroute:
traceroute example.commtr example.comПокажет где обрывается маршрут — у вашего провайдера, в магистрали, или у хостинга.
Как исправить
Section titled “Как исправить”Сценарий A: сервер упал полностью
Перезагрузить через панель хостера (через iDRAC/IPMI у dedicated, через VNC у VPS). Если не помогает — обращение в поддержку хостинга.
Сценарий B: nginx завис, но сервер жив (есть SSH)
sudo systemctl restart nginxsudo systemctl status nginxСценарий C: перегрузка
Найти процесс который ест ресурсы:
topiotopps aux --sort=-%cpu | head -20Часто причина — какой-то скрипт в бесконечном цикле, или backup в неудачное время.
Сценарий D: блокировка файрволом
Проверить правила:
sudo iptables -L -n -vsudo ufw status verboseЕсли видите блокировку нужного IP/порта — исправить правило.
Сценарий E: DDoS у хостера
Обратиться в поддержку хостинга. Часто они автоматически блокируют атакуемый IP «в защиту инфраструктуры», и нужно вручную попросить разблокировать.
Если таймаут только в одном регионе
Section titled “Если таймаут только в одном регионе”Бывает что сайт виден из Москвы, но не виден из Амстердама (или наоборот). Это признаки:
- Геоблокировка — вы намеренно или нет заблокировали IP-диапазон какой-то страны
- DPI у провайдера — российские провайдеры иногда странно фильтруют исходящий трафик
- Сетевые сбои у магистральных операторов
Monisite специально проверяет из 3 регионов, чтобы такие ситуации не приводили к ложным алертам (см. Защита от ложных срабатываний).
Если не разработчик
Section titled “Если не разработчик”Таймаут — самая серьёзная ошибка. Если ваш сайт не открывается уже несколько минут:
- Срочно свяжитесь с хостером
- Проверьте оплачен ли хостинг (часто причина — закончился баланс)
- Проверьте оплачен ли домен (может закончилась регистрация)
Чем поможет Monisite
Section titled “Чем поможет Monisite”При таймауте на одном региона из трёх — мы не шлём алерт (это false positive). При таймауте во всех трёх — сразу уведомление.
Monisite:
- Видит таймаут как DOWN если все 3 региона согласны
- Показывает в дашборде из каких регионов виден таймаут
- В истории — точное время начала проблемы