Nginx. Встроенные переменные nginx

Модуль ngx_http_core_module поддерживает встроенные переменные, имена которых совпадают с именами переменных веб-сервера Apache. Прежде всего, это переменные, представляющие из себя поля заголовка запроса клиента, такие как $http_user_agent, $http_cookie и тому подобное. Кроме того, есть и другие переменные:

$arg_имя аргумент имя в строке запроса
$args аргументы в строке запроса
$binary_remote_addr адрес клиента в бинарном виде, длина значения всегда 4 байта для IPv4-адресов или 16 байт для IPv6-адресов
$body_bytes_sent число байт, переданное клиенту, без учёта заголовка ответа; переменная совместима с параметром “%B” модуля Apache mod_log_config
$bytes_sent число байт, переданных клиенту (1.3.8, 1.2.5)
$connection порядковый номер соединения (1.3.8, 1.2.5)
$connection_requests текущее число запросов в соединении (1.3.8, 1.2.5)
$content_length поле “Content-Length” заголовка запроса
$content_type поле “Content-Type” заголовка запроса
$cookie_имя cookie имя
$document_root значение директивы root или alias для текущего запроса
$document_uri то же, что и $uri
$host в порядке приоритета: имя хоста из строки запроса, или имя хоста из поля “Host” заголовка запроса, или имя сервера, соответствующего запросу
$hostname имя хоста
$http_имя произвольное поле заголовка запроса; последняя часть имени переменной соответствует имени поля, приведённому к нижнему регистру, с заменой символов тире на символы подчёркивания
$https “on” если соединение работает в режиме SSL, либо пустая строка
$is_args “?”, если в строке запроса есть аргументы, и пустая строка, если их нет
$limit_rate установка этой переменной позволяет ограничивать скорость передачи ответа, см. limit_rate
$msec текущее время в секундах с точностью до миллисекунд (1.3.9, 1.2.6)
$nginx_version версия nginx
$pid номер (PID) рабочего процесса
$pipe “p” если запрос был pipelined, иначе “.” (1.3.12, 1.2.7)
$proxy_protocol_addr адрес клиента, полученный из заголовка протокола PROXY, либо пустая строка (1.5.12)
Протокол PROXY должен быть предварительно включён при помощи установки параметра proxy_protocol в директиве listen.

$proxy_protocol_port порт клиента, полученный из заголовка протокола PROXY, либо пустая строка (1.11.0)
Протокол PROXY должен быть предварительно включён при помощи установки параметра proxy_protocol в директиве listen.

$query_string то же, что и $args
$realpath_root абсолютный путь, соответствующий значению директивы root или alias для текущего запроса, в котором все символические ссылки преобразованы в реальные пути
$remote_addr адрес клиента
$remote_port порт клиента
$remote_user имя пользователя, использованное в Basic аутентификации
$request первоначальная строка запроса целиком
$request_body тело запроса
Значение переменной появляется в location’ах, обрабатываемых директивами proxy_pass, fastcgi_pass, uwsgi_pass и scgi_pass, когда тело было прочитано в буфер в памяти.

$request_body_file имя временного файла, в котором хранится тело запроса
По завершении обработки файл необходимо удалить. Для того чтобы тело запроса всегда записывалось в файл, следует включить client_body_in_file_only. При передаче имени временного файла в проксированном запросе или в запросе к FastCGI/uwsgi/SCGI-серверу следует запретить передачу самого тела директивами proxy_pass_request_body off, fastcgi_pass_request_body off, uwsgi_pass_request_body off или scgi_pass_request_body off соответственно.

$request_completion “OK” если запрос завершился, либо пустая строка
$request_filename путь к файлу для текущего запроса, формируемый из директив root или alias и URI запроса
$request_id уникальный идентификатор запроса, сформированный из 16 случайных байт, в шестнадцатеричном виде (1.11.0)
$request_length длина запроса (включая строку запроса, заголовок и тело запроса) (1.3.12, 1.2.7)
$request_method метод запроса, обычно “GET” или “POST”
$request_time время обработки запроса в секундах с точностью до миллисекунд (1.3.9, 1.2.6); время, прошедшее с момента чтения первых байт от клиента
$request_uri первоначальный URI запроса целиком (с аргументами)
$scheme схема запроса, “http” или “https”
$sent_http_имя произвольное поле заголовка ответа; последняя часть имени переменной соответствует имени поля, приведённому к нижнему регистру, с заменой символов тире на символы подчёркивания
$sent_trailer_имя произвольное поле, отправленное в конце ответа (1.13.2); последняя часть имени переменной соответствует имени поля, приведённому к нижнему регистру, с заменой символов тире на символы подчёркивания
$server_addr адрес сервера, принявшего запрос
Получение значения этой переменной обычно требует одного системного вызова. Чтобы избежать системного вызова, в директивах listen следует указывать адреса и использовать параметр bind.

$server_name имя сервера, принявшего запрос
$server_port порт сервера, принявшего запрос
$server_protocol протокол запроса, обычно “HTTP/1.0”, “HTTP/1.1” или “HTTP/2.0”
$status статус ответа (1.3.2, 1.2.2)
$time_iso8601 локальное время в формате по стандарту ISO 8601 (1.3.12, 1.2.7)
$time_local локальное время в Common Log Format (1.3.12, 1.2.7)
$tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, $tcpinfo_rcv_space
информация о клиентском TCP-соединении; доступна на системах, поддерживающих параметр сокета TCP_INFO
$uri текущий URI запроса в нормализованном виде
Значение $uri может изменяться в процессе обработки запроса, например, при внутренних перенаправлениях или при использовании индексных файлов.

https://nginx.org/ru/docs/http/ngx_http_core_module.html