Чек-лист диагностики
Базовая последовательность для ситуации «сервис не работает». Она не лечит всё, но быстро показывает, на каком слое искать проблему.
1. Зафиксировать симптом
Повторите ошибку минимальным запросом. Запишите точное время, адрес, порт, код ответа и клиент, с которого выполняется проверка.
date -Is curl -sSvk --connect-timeout 5 https://example.org/health
2. Проверить процесс и unit
Убедитесь, что сервис запущен, не находится в цикле рестартов и читает ожидаемый конфиг.
systemctl status nginx --no-pager systemctl show nginx -p ActiveState,SubState,NRestarts,ExecMainStatus
3. Проверить порт
Слушающий сокет должен принадлежать нужному процессу и быть привязан к правильному адресу: localhost, конкретному IP или всем интерфейсам.
ss -lntp ss -lnup
4. Прочитать свежий журнал
Смотрите небольшой временной диапазон вокруг воспроизведения ошибки, а не весь журнал за месяц.
journalctl -u nginx --since "10 minutes ago" --no-pager journalctl -u nginx -p warning --since today --no-pager
5. Пройти путь запроса
Проверяйте по слоям: DNS → TCP → TLS → reverse proxy → приложение → зависимость.
dig +short A example.org ip route get 203.0.113.10 curl -sSvkI --resolve example.org:443:203.0.113.10 https://example.org/
6. Подтвердить исправление
Повторите тот же тест, затем проверьте соседний сценарий и состояние сервиса после нескольких минут работы.