For the complete documentation index, see llms.txt. This page is also available as Markdown.

Диагностика Nginx

Диагностика Nginx, HTTPS, 4xx, 5xx, reverse proxy и WebSocket без случайных перезапусков

Начинайте с точного URL, времени с часовым поясом, кода ответа и того, воспроизводится ли проблема напрямую и через Cloudflare. Один код может создаваться браузером, Cloudflare, Nginx, SSR или Laravel.

Быстрая последовательность

  1. Проверьте DNS и выбранный адрес сервера.

  2. Проверьте сертификат и имя домена.

  3. Выполните sudo nginx -t.

  4. Найдите vhost и location через sudo nginx -T.

  5. Проверьте целевой внутренний процесс локально.

  6. Сопоставьте журнал Nginx с журналом приложения.

  7. Проверьте последнее изменение конфигурации или процесса.

Для проверки origin без смены публичного DNS используйте собственный домен и адрес:

curl --resolve ваш_домен:443:<IP_ORIGIN> -I https://ваш_домен/
curl --resolve app.ваш_домен:443:<IP_ORIGIN> -I https://app.ваш_домен/

<IP_ORIGIN> подставляет уполномоченный администратор. Не публикуйте команду с рабочим адресом в открытом обращении.

Типовые признаки

Признак
Что проверить сначала

404

Какой vhost и location выбраны, существует ли маршрут или файл

413

Лимит Nginx, затем PHP и приложение

429

WAF, rate limit, приложение и повторные запросы клиента

500

Журнал Laravel/PHP и последнее изменение кода или окружения

502

Состояние SSR, PHP-FPM или Reverb и адрес upstream

504

Длительность upstream, очередь, внешнее обращение и тайм-аут

Цикл редиректов

HTTPS между Cloudflare и origin, forwarded protocol и правила redirect

Старая страница

Cloudflare cache, browser cache, SSR и версия статических файлов

Не увеличивайте тайм-аут как первое действие. Если upstream завис из-за базы или внешнего сервиса, увеличение скрывает причину и удерживает больше соединений.

Журналы

Используйте системный журнал службы и журналы активного виртуального хоста. На существующем сервере с FASTPANEL их также можно открыть из карточки сайта. Сначала ограничьте временной интервал и URL, иначе полезная строка потеряется в объёме:

Не отправляйте полный access log третьей стороне: он может содержать IP, параметры URL и идентификаторы заявок. Подготовьте минимальный очищенный фрагмент.

WebSocket не подключается

Проверьте процесс Reverb, локальный порт, путь, сертификат, заголовки Upgrade, Cloudflare WebSockets и событие WAF. Если обычный HTTPS работает, это не подтверждает исправность WebSocket.

После исправления откройте тестовую заявку в двух независимых сессиях. Сообщение и индикатор должны появиться без обновления страницы. Затем убедитесь, что fallback не маскирует разрыв постоянного соединения.

Сертификат не выпускается

Проверьте A/AAAA, доступность 80 и 443, CAA, режим проксирования Cloudflare и выбранные имена сертификата. Устаревшая AAAA-запись часто отправляет проверку на другой сервер.

Не отключайте проверку сертификата и не переходите на Flexible. Если используется Origin CA, проверяйте соединение через Cloudflare; для прямого браузерного доступа установите публично доверенный сертификат.

Безопасное восстановление

Если сбой появился сразу после правки, верните только изменённый файл, выполните nginx -t и reload. Если конфигурация корректна, но upstream недоступен, восстанавливайте конкретный процесс через его менеджер. Перезапуск всего сервера оставляйте последней мерой после сохранения журналов и проверки автозапуска.

Последнее обновление

Это было полезно?