IBCOURSES / СПРАВОЧНИК ИБ

Журнал доступа Nginx: запрос, ответ и объём

К ответу ↓

Access log описывает обработанный HTTP-запрос. Значения читаются по активному log_format; стандартный combined и пользовательский JSON имеют разные поля.

Например
Материалов с пояснениями: 94 · Записей реестров: 11 678

Уточнить поиск

События и журналы

Найдено: 84
Инструкция по проверке

Журнал доступа Nginx: запрос, ответ и объём

Access log описывает обработанный HTTP-запрос. Значения читаются по активному log_format; стандартный combined и пользовательский JSON имеют разные поля.

1. Закрепите виртуальный сервер и формат

Укажите узел, контейнер при наличии, версию Nginx и виртуальный сервер запроса. Пример относится к combined; фактический log_format нужно прочитать из сохранённой конфигурации. Пользовательский JSON, вывод ingress-контроллера и формат балансировщика не считаются combined автоматически. Сохраните назначение access_log и правило, по которому запрос попадает в выбранный журнал.

2. Отберите уже зарегистрированные запросы

В копии файла выберите интервал, URI и доступные признаки клиента. Не начинайте с одного IP, если между клиентом и сервером есть прокси. Сохраните строки целиком, а при наличии реального request ID добавьте его в условия. Методика не создаёт новый HTTP-запрос и не меняет журналирование. Установите, не лежит ли часть периода в ротированном файле.

3. Разберите строку combined

Иллюстрация показывает GET учебного reports/demo.csv, статус 200 и 12500 байт тела ответа. Это не общий размер объекта и не число байтов заголовков. Поле demo соответствует remote_user в показанной форме, а DemoClient — заявленному user-agent. Дефис не является доказательством отсутствия аутентификации во всём приложении. Часовой сдвиг +0300 относится к строке и должен учитываться при связи с другими журналами.

4. Разделите ответ и бизнес-результат

Access log фиксирует обработанный запрос, но успешный HTTP-код не доказывает, что человек прочитал файл или завершил нужную операцию. Частичная выдача, повторные обращения и поведение приложения требуют отдельного контекста. Адрес remote_addr зависит от развёртывания и настройки реального адреса. Не идентифицируйте сотрудника только по этому полю и не приравнивайте 12500 к объёму подтверждённой утечки.

5. Найдите причину и владельца

Для отказа сопоставьте тот же запрос с error_log и журналом приложения, а при проксировании — с backend. Сверьте URI после внутренних переходов, метод, время и доступный сквозной идентификатор. Если расследуется скачивание, определите объект и его версию, техническую identity и разрешённый способ доступа. Выводы о содержимом и получателе оформляйте отдельно от факта ответа Nginx.

6. Если строки нет

Проверьте нужный virtual host, фактическое назначение, условное отключение регистрации, ротацию и задержку буферизованной записи. Внутренний redirect может изменить контекст, в котором заканчивается обработка и выполняется логирование. Затем сверяйте копию с исходным хранилищем. Отсутствие строки в одном файле не доказывает, что запрос не дошёл ни до одного узла.

Поля и область применения

Исходное полеСмысл и ограничения
$remote_addrАдрес с учётом конфигурации Nginx; не всегда исходный пользователь.
$remote_userHTTP-пользователь, если доступен; дефис не означает анонимность всей системы.
$time_localМестное время с зоной.
$requestМетод, URI и версия запроса.
$statusКод отправленного ответа.
$body_bytes_sentБайты тела ответа в combined.
$http_user_agentЗаявленный клиентом заголовок.

Примеры записей

Данные в примерах условные. Состав полей зависит от версии и настроек источника.

Пример фрагмента записи

Фрагмент журнала. Сокращённая схема для объяснения полей.

192.0.2.20 - demo [04/Nov/2026:09:20:00 +0300] "GET /reports/demo.csv HTTP/1.1" 200 12500 "-" "DemoClient/1.0"

Команды и способы проверки

Укажите свой узел, путь к журналу и временной интервал. Требуемая среда указана рядом с командой.

Порядок чтения access log

Открыть конфигурацию нужного virtual host и log_format; затем выбрать в копии журнала URI и интервал времени.

Первоисточники

Успешный HTTP-ответ и число байтов не доказывают личность получателя и содержание выгрузки.

Связанные материалы

Как пользоваться техническим справочником

Найдите порт, код ошибки, событие или источник журнала. Уточните протокол и систему, затем сверяйте значение, поля, примеры и первоисточники. Назначение порта не определяет фактическую службу, а одна запись не доказывает инцидент.

Материалы по разделам

События и журналы

Два ответа рядом

Сравнение источников

Сравнение показывает различия. События и поля разных систем не считаются эквивалентными.

Выберите службу

В списке — службы, доступные с текущими условиями. Число рядом — количество записей портов, а не программ на вашем узле.

Как искать в справочнике

Введите число, код, фрагмент сообщения или вопрос. Известный идентификатор поможет найти карточку; это не анализ самого инцидента.

  1. Введите номер, код, имя или фрагмент записи. Для портов можно использовать список: 80, 443, 8000–8010.
  2. Уточните поиск фильтрами. Все условия действуют одновременно. Числа в списках показывают, сколько материалов останется при выборе варианта.
  3. Службу выбирайте из каталога: поиск внутри списка помогает найти название, а кнопка «Выбрать» применяет его.
  4. Убирайте отдельные условия кнопкой × рядом с фильтром. «Сбросить фильтры» сохраняет текст поиска и текущий раздел.
  5. В карточке сверьте источник, версию и условия регистрации, затем откройте поля, примеры и первоисточник.

/ — перейти к поиску. Прямые ссылки открывают выбранную карточку в этом же справочнике.

Назначения портов и коды приведены по официальным реестрам. Версии, условия регистрации и ссылки на документацию указаны в карточках.

Избранное и недавние материалы хранятся в этом браузере. Запрос и фильтры сохраняются при возврате к выдаче и обновлении вкладки. Поиск работает локально.

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

От вопроса к свидетельствам: кто вошёл, что запустил, к каким данным обратился, что изменил и где искать следы.

Выберите область, чтобы посмотреть доступные источники и перейти к материалам.

Уточнить или исправить ответ

Скопируйте сообщение и отправьте его на mail@ibcourses.ru.