#Симптом и границы применимости
Отсутствие строк в просматриваемом журнале не доказывает отсутствие запроса. Он может завершиться у CDN, внешнего прокси, защитного шлюза или другого виртуального хоста; журнал может быть выключен либо перенаправлен.
Эта инструкция относится к конкретному сайту в панели управления хостингом, когда его обслуживают Nginx, Apache, PHP-FPM или их сочетание. Названия разделов и доступность SSH зависят от установленной панели и прав пользователя; шаги, которых нет в вашем интерфейсе, выполняет администратор сервера.
#Возможные причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Запрос не дошёл до выбранного сайтаОтвет сформирован CDN, балансировщиком или другим виртуальным хостом | Нет строки по времени/пути, но есть ответ в браузере | Сравнить заголовки, DNS и входной прокси |
| Выбран не тот журналПанель показывает журнал Apache, а первым отвечает Nginx | В одном файле записи есть, в другом отсутствуют | Найти фактические access_log и error_log |
| Запись отключена либо буферизованаДиректива access_log off или buffering | Записи появляются позже или для других каталогов | Проверить эффективную конфигурацию |
#Пошаговая диагностика и исправление
- Сохраните точный тестовый запросВоспроизведите ошибку один раз через браузер в приватном окне. Запишите время с часовым поясом, путь без секретных токенов и код. Не публикуйте URL с паролями, параметрами восстановления и cookie.
- Сравните ответ извне и локальноСмотрите заголовки и путь запроса извне. Если известен собственный адрес сервера, можно отдельно проверить его через --resolve, не меняя DNS. Несовпадение ответов означает, что где-то перед сервером стоит другой слой.
- На клиентском компьютере, без прав администратораLinux · Терминал (Bash)КомандаНа клиентском компьютере, без прав администратора. Замените домен и безопасный путь; поле Server не является доказательством конкретного узла.
curl -sS -I https://example.com/problem
- Уточните обслуживающий виртуальный хостВ панели откройте сайт с правильным именем домена; проверьте алиасы и SSL. Если веб-сервер обслуживает несколько сайтов, запрос может попадать на default_server либо другой IP/порт. Не удаляйте лишние домены до подтверждения.
- Найдите реальные пути журналовВ SSH с правами администратора изучите активную конфигурацию Nginx. Найдите access_log, error_log и значение off; для Apache — CustomLog/ErrorLog. Вывод конфигурации может содержать секреты, поэтому не передавайте его публично.
- Для установленного NginxLinux · Терминал (Bash)КомандаНужен sudoДля установленного Nginx. Опция -T печатает полную конфигурацию, grep ограничивает строки; не изменяет файлы.
sudo nginx -T 2>&1 | grep -E "access_log|error_log|server_name"
- Проверьте уровни и временную зонуПосмотрите журналы внешнего Nginx, внутреннего Apache/PHP и, если используется, CDN за один интервал времени. Учитывайте буферизацию доступа и ротацию файлов. Если сервер пишет в systemd-journald — не ищите только /var/log.
- Сравните ожидаемый код и место формирования403 от WAF, 404 от внешнего прокси и 500 внутри PHP требуют разных журналов. Уточните, где именно был сформирован код; по одному лишь пустому access.log нельзя утверждать, что виновата CMS.
- Исправляйте только подтверждённый уровеньЕсли логирование было отключено, настройте его для нужного сайта и соблюдайте политику хранения персональных данных. Сохраните копию конфигурации и проверьте синтаксис прежде, чем применить изменения. Повторите один тестовый запрос.
#Проверка результата
Контрольный запрос с известным временем появляется в ожидаемом журнале соответствующего сервера либо найдена и документирована причина, почему его отбивает внешний слой.
#Если проблема осталась
Если запись отсутствует на всех известных слоях, проверьте внешний IP домена, CDN, прокси провайдера и правила фильтрации; не снижайте защиту наугад.
#Безопасный откат
Если после изменения ошибка усилилась, верните сохранённое значение только изменённого параметра и повторно проверьте конфигурацию используемого веб-сервера до применения. Не возвращайте всю базу или весь сервер из резервной копии, если достаточно откатить одну настройку. При отсутствии доступа к нужному уровню обратитесь к администратору с точными временем, адресом, кодом ответа и обезличенными фрагментами журналов.