Переменные NGINX
195 — Поисковый справочник переменных по core HTTP, stream и сторонним модулям — с примерами и нюансами.
NGINX Core (HTTP)124
$arg_*
Переменная $arg_ возвращает значение конкретного параметра запроса из URI.
$args
Переменная $args содержит аргументы строки запроса без символа '?'.
$binary_remote_addr
Переменная $binary_remote_addr содержит двоичное представление IP-адреса клиента.
Кэшируется
$body_bytes_sent
Переменная $body_bytes_sent в NGINX содержит количество байт, отправленных клиенту в теле ответа, за исключением заголовков ответа.
Кэшируется
$bytes_sent
Переменная $bytes_sent содержит общее количество байт, отправленных клиенту в ответ на запрос.
Кэшируется
$connection
Переменная $connection возвращает номер дескриптора соединения для текущего запроса в NGINX.
Кэшируется
$connection_requests
Переменная $connection_requests возвращает количество запросов, полученных на текущем соединении.
Кэшируется
$connection_time
Переменная $connection_time возвращает время, затраченное на установление соединения с клиентом, в секундах.
$content_length
Переменная $content_length содержит значение HTTP‑заголовка 'Content-Length', отправленного клиентом, представляющее размер тела запроса в байтах.
Кэшируется
$content_type
Переменная $content_type в NGINX содержит значение заголовка Content-Type HTTP-ответа.
Кэшируется
$cookie_*
Префикс переменных $cookie_ используется для доступа к значениям HTTP cookie, отправляемым клиентом.
Кэшируется
$document_root
Переменная $document_root возвращает корневой каталог текущего server- или location-блока, как определено в конфигурации NGINX.
$document_uri
Переменная $document_uri содержит URI запроса без строки запроса и с декодированными процентно-кодированными символами.
$fastcgi_path_info
Переменная $fastcgi_path_info содержит дополнительную информацию о пути, которая следует за именем скрипта в запросе FastCGI.
$fastcgi_script_name
Переменная $fastcgi_script_name содержит имя скрипта, обрабатываемого FastCGI-сервером.
$grpc_internal_trailers
Переменная $grpc_internal_trailers содержит внутренние поля трейлеров ответа gRPC.
$gzip_ratio
Переменная $gzip_ratio содержит коэффициент сжатия, достигнутый gzip, когда NGINX обслуживает сжатый ответ.
Кэшируется
$host
Переменная $host в NGINX содержит имя хоста из HTTP-заголовка запроса или имя сервера, определённое в конфигурации.
Кэшируется
$hostname
Переменная $hostname возвращает имя хоста сервера, указанное в серверном блоке.
Кэшируется
$http_*
Переменная $http_ содержит значение конкретного HTTP-заголовка из запроса клиента, с префиксом 'http_'.
Кэшируется
$http_cookie
Переменная $http_cookie захватывает значение заголовка Cookie из входящего HTTP-запроса.
Кэшируется
$http_host
Переменная `$http_host` содержит значение заголовка Host, отправленного клиентом в HTTP-запросе.
Кэшируется
$http_referer
Переменная $http_referer содержит значение HTTP‑заголовка Referer из запроса клиента.
Кэшируется
$http_user_agent
Переменная $http_user_agent содержит значение HTTP-заголовка запроса User-Agent, отправленного клиентом.
Кэшируется
$http_via
Переменная $http_via получает значение заголовка 'via', отправленного вышестоящими прокси в HTTP-запросах.
Кэшируется
$http_x_forwarded_for
Переменная $http_x_forwarded_for содержит значение заголовка X-Forwarded-For из запроса клиента, которое указывает исходный IP-адрес клиента, выполняющего запрос.
Кэшируется
$https
Переменная $https указывает, был ли запрос выполнен по HTTPS (защищённо) или нет.
Кэшируется
$invalid_referer
Переменная $invalid_referer устанавливается в 1, если referer запроса не разрешён на основании заданных правил доступа.
Кэшируется
$is_args
Переменная $is_args указывает, содержит ли текущий запрос аргументы в строке запроса.
$is_request_port
Переменная $is_request_port указывает, был ли запрос выполнен на альтернативном порту, а не на порту по умолчанию для протокола.
Кэшируется
$limit_conn_status
$limit_conn_status возвращает статус ограничения подключений для каждого клиента в NGINX.
$limit_rate
$limit_rate управляет максимальной скоростью передачи для ответа, фактически ограничивая использование пропускной способности для каждого соединения.
$limit_req_status
Переменная $limit_req_status выводит код состояния механизма ограничения запросов в NGINX.
$msec
Переменная $msec содержит текущее время в миллисекундах, прошедшее с начала эпохи Unix.
$nginx_version
Переменная $nginx_version содержит номер версии текущего запущенного экземпляра NGINX.
Кэшируется
$pid
Переменная $pid возвращает идентификатор (PID) рабочего процесса NGINX, обрабатывающего текущий запрос.
Кэшируется
$pipe
Переменная $pipe указывает, обрабатывается ли запрос в режиме пайплайнинга.
Кэшируется
$proxy_add_via
Переменная $proxy_add_via используется для добавления заголовка 'Via' к HTTP-запросам, проксируемым через NGINX.
Кэшируется
$proxy_add_x_forwarded_for
Переменная $proxy_add_x_forwarded_for добавляет IP-адрес клиента в заголовок X-Forwarded-For при проксировании.
Кэшируется
$proxy_host
Переменная $proxy_host содержит имя хоста upstream-сервера, на который осуществляется проксирование.
$proxy_internal_body_length
$proxy_internal_body_length возвращает длину тела запроса, который был внутренне получен от проксируемого сервера.
$proxy_internal_chunked
$proxy_internal_chunked указывает, должны ли внутренние ответы отправляться с использованием chunked transfer encoding.
$proxy_internal_connection
$proxy_internal_connection указывает, используется ли соединение с проксируемым сервером во внутренней или внешней сети.
$proxy_internal_host
$proxy_internal_host возвращает имя хоста внутреннего прокси для запроса.
$proxy_port
Переменная $proxy_port возвращает номер порта проксируемого сервера.
$proxy_protocol_addr
$proxy_protocol_addr возвращает адрес клиента из PROXY protocol, если он включён.
Кэшируется
$proxy_protocol_port
Переменная $proxy_protocol_port возвращает номер порта, с которого принимается проксированный запрос при использовании PROXY protocol.
Кэшируется
$proxy_protocol_server_addr
$proxy_protocol_server_addr возвращает IP-адрес клиента, как он передан proxy protocol при его включении в NGINX.
Кэшируется
$proxy_protocol_server_port
Переменная $proxy_protocol_server_port возвращает порт сервера, указанный в PROXY protocol.
Кэшируется
$proxy_protocol_tlv_*
Переменные $proxy_protocol_tlv_ предоставляют доступ к информации, содержащейся в формате Proxy Protocol TLV (Type-Length-Value).
Кэшируется
$query_string
Переменная $query_string содержит часть URI запроса клиента, относящуюся к строке запроса, без ведущего '?'.
$realip_remote_addr
Переменная $realip_remote_addr содержит исходный IP-адрес клиента, когда сервер NGINX используется за прокси или балансировщиком нагрузки.
Кэшируется
$realip_remote_port
Переменная $realip_remote_port содержит номер порта клиента, совершившего запрос, как он получен NGINX от upstream-сервера.
Кэшируется
$realpath_root
Переменная $realpath_root возвращает каноническое имя файла корневого каталога блока location, разрешая любые символические ссылки.
$remote_addr
Переменная $remote_addr содержит IP-адрес клиента, который делает запрос к серверу NGINX.
Кэшируется
$remote_port
Переменная $remote_port в NGINX содержит номер порта клиента, выполняющего запрос; используется для контроля доступа и логирования.
Кэшируется
$remote_user
Переменная $remote_user содержит имя пользователя, предоставленное клиентом во время базовой аутентификации HTTP.
Кэшируется
$request
Переменная $request содержит полную строку запроса, полученную от клиента, включая HTTP-метод, URI и версию протокола HTTP.
Кэшируется
$request_body
Переменная $request_body содержит необработанное тело запроса клиента.
Кэшируется
$request_body_file
Переменная $request_body_file содержит путь к временному файлу, в котором хранится тело запроса, когда оно слишком велико, чтобы поместиться в память.
Кэшируется
$request_completion
Переменная $request_completion возвращает статус обработки запроса, указывая, был ли запрос успешно завершён или нет.
Кэшируется
$request_filename
Переменная $request_filename содержит полный путь к файлу, запрошенному клиентом.
$request_id
Переменная $request_id содержит уникальный идентификатор для каждого запроса, обрабатываемого NGINX.
Кэшируется
$request_length
Переменная $request_length возвращает общий размер тела запроса клиента в байтах.
$request_method
Переменная $request_method в NGINX содержит метод HTTP, используемый для текущего запроса.
$request_port
Переменная $request_port содержит номер порта, который клиент использует для отправки запроса на сервер.
Кэшируется
$request_time
$request_time содержит общее время, затраченное на обработку запроса, в секундах с точностью до миллисекунд.
$request_uri
Переменная $request_uri содержит исходный URI запроса, отправленный клиентом, включая строку запроса, если она присутствует.
Кэшируется
$scheme
Переменная $scheme в NGINX возвращает протокол текущего запроса (HTTP или HTTPS).
Кэшируется
$secure_link
Переменная $secure_link используется для проверки защищённой ссылки на ресурс на основе хэшированного токена.
Кэшируется
$secure_link_expires
$secure_link_expires возвращает отметку времени истечения срока действия защищённой ссылки в NGINX.
Кэшируется
$sent_http_*
Префиксная переменная $sent_http_ возвращает заголовки HTTP-ответа, отправленные клиенту.
Кэшируется
$sent_http_cache_control
$sent_http_cache_control содержит значение заголовка 'Cache-Control', отправленного в HTTP-ответе.
Кэшируется
$sent_http_connection
Переменная $sent_http_connection содержит значение заголовка 'Connection', отправляемого клиенту в HTTP-ответе.
Кэшируется
$sent_http_content_length
Переменная $sent_http_content_length возвращает значение заголовка Content-Length, отправленного в HTTP-ответе.
Кэшируется
$sent_http_content_type
Переменная $sent_http_content_type содержит заголовок Content-Type, отправляемый в HTTP-ответе от NGINX.
Кэшируется
$sent_http_keep_alive
Переменная $sent_http_keep_alive в NGINX содержит значение заголовка 'Keep-Alive', отправленного клиенту в ответе.
Кэшируется
$sent_http_last_modified
Переменная $sent_http_last_modified содержит заголовок Last-Modified, возвращаемый сервером в ответе клиенту.
Кэшируется
$sent_http_link
Переменная $sent_http_link содержит значение заголовка ответа HTTP Link, отправляемого NGINX.
Кэшируется
$sent_http_location
Переменная $sent_http_location содержит HTTP-заголовок Location, отправляемый в ответе при внутренней переадресации.
Кэшируется
$sent_http_transfer_encoding
$sent_http_transfer_encoding содержит значение заголовка 'Transfer-Encoding', отправляемого клиенту.
Кэшируется
$sent_trailer_*
Переменная $sent_trailer_ является префиксной переменной, используемой для получения трейлеров, отправляемых с HTTP-ответами в NGINX.
Кэшируется
$server_addr
Переменная $server_addr возвращает IP-адрес сервера, как указано в конфигурации NGINX.
Кэшируется
$server_name
Переменная $server_name представляет имя виртуального хоста, обслуживающего запрос.
Кэшируется
$server_port
Переменная $server_port возвращает номер порта, на котором был получен текущий запрос.
Кэшируется
$server_protocol
Переменная $server_protocol содержит протокол, используемый для текущего запроса, обычно HTTP или HTTPS.
Кэшируется
$ssl_alpn_protocol
Переменная $ssl_alpn_protocol содержит протокол согласования прикладного уровня (ALPN), выбранный во время TLS-рукопожатия.
Кэшируется
$ssl_cipher
Переменная $ssl_cipher содержит имя шифра, используемого для SSL/TLS соединений.
Кэшируется
$ssl_ciphers
Переменная $ssl_ciphers содержит список шифров SSL/TLS, используемых для текущего соединения.
Кэшируется
$ssl_client_cert
Переменная $ssl_client_cert содержит SSL-сертификат клиента в виде PEM-кодированной строки, когда проверка SSL-клиента включена.
Кэшируется
$ssl_client_escaped_cert
Переменная $ssl_client_escaped_cert содержит клиентский сертификат в формате PEM-encoded и URL-escaped, отправленный клиентом во время SSL-рукопожатия.
Кэшируется
$ssl_client_fingerprint
Переменная $ssl_client_fingerprint представляет отпечаток SSL-сертификата клиента.
Кэшируется
$ssl_client_i_dn
Переменная $ssl_client_i_dn содержит Identity Distinguished Name (DN) клиента во время SSL/TLS-сессий.
Кэшируется
$ssl_client_i_dn_legacy
Переменная $ssl_client_i_dn_legacy возвращает устаревшее строковое представление имени субъекта (DN) клиентского SSL-сертификата.
Кэшируется
$ssl_client_raw_cert
Переменная $ssl_client_raw_cert содержит необработанные байты SSL-сертификата клиента.
Кэшируется
$ssl_client_s_dn
Переменная $ssl_client_s_dn содержит имя субъекта (DN) из SSL-сертификата клиента.
Кэшируется
$ssl_client_s_dn_legacy
Переменная $ssl_client_s_dn_legacy содержит устаревшее различительное имя субъекта (DN) клиентского SSL-сертификата.
Кэшируется
$ssl_client_serial
Переменная $ssl_client_serial содержит серийный номер клиентского SSL-сертификата, используемого в защищённом соединении.
Кэшируется
$ssl_client_sigalg
Переменная $ssl_client_sigalg содержит алгоритм подписи, использованный в SSL-сертификате клиента.
Кэшируется
$ssl_client_v_end
Переменная $ssl_client_v_end содержит время окончания SSL-соединения клиента в секундах, прошедших с начала эпохи Unix.
Кэшируется
$ssl_client_v_remain
$ssl_client_v_remain возвращает оставшееся количество байт в цепочке сертификатов SSL-клиента после текущего сертификата.
Кэшируется
$ssl_client_v_start
$ssl_client_v_start возвращает временную метку, когда SSL handshake завершён и соединение клиента установлено.
Кэшируется
$ssl_client_verify
$ssl_client_verify указывает статус проверки клиентского сертификата в SSL-соединениях.
Кэшируется
$ssl_curve
Переменная $ssl_curve возвращает название эллиптической кривой, используемой для SSL/TLS-соединений.
Кэшируется
$ssl_curves
Переменная $ssl_curves возвращает список эллиптических кривых, согласованных в ходе SSL-рукопожатия.
Кэшируется
$ssl_early_data
Переменная $ssl_early_data указывает, были ли получены ранние данные в SSL/TLS-соединении.
$ssl_ech_outer_server_name
$ssl_ech_outer_server_name возвращает внешнее имя сервера, используемое в Encrypted ClientHello для текущего SSL-соединения.
Кэшируется
$ssl_ech_status
Переменная $ssl_ech_status указывает статус поддержки Encrypted ClientHello (ECH) для текущего SSL‑соединения.
Кэшируется
$ssl_protocol
$ssl_protocol содержит версию протокола SSL/TLS, используемую для соединения.
Кэшируется
$ssl_server_name
Переменная $ssl_server_name содержит имя сервера, указанное в директиве 'server_name', которое совпадает с запросом во время SSL-рукопожатия.
Кэшируется
$ssl_session_id
Переменная $ssl_session_id содержит уникальный идентификатор текущей SSL-сессии на сервере NGINX.
Кэшируется
$ssl_session_reused
Переменная $ssl_session_reused указывает, была ли для текущего соединения повторно использована существующая SSL-сессия.
Кэшируется
$ssl_sigalg
Переменная $ssl_sigalg возвращает алгоритм подписи, использованный при SSL-рукопожатии защищённого соединения.
Кэшируется
$status
Переменная $status возвращает код состояния HTTP-ответа для текущего запроса, обрабатываемого NGINX.
$tcpinfo_rcv_space
Переменная $tcpinfo_rcv_space возвращает объём памяти, выделенной для входного TCP-буфера.
$tcpinfo_rtt
Переменная $tcpinfo_rtt возвращает время круговой поездки (RTT) TCP‑соединения в микросекундах.
$tcpinfo_rttvar
Переменная $tcpinfo_rttvar возвращает величину вариации времени RTT для TCP-соединений в микросекундах.
$tcpinfo_snd_cwnd
$tcpinfo_snd_cwnd возвращает размер окна перегрузки отправки TCP в байтах.
$time_iso8601
Переменная $time_iso8601 возвращает текущее время в формате ISO 8601.
$time_local
Переменная $time_local возвращает текущее локальное время в формате, используемом в Common Log Format.
$uid_got
Переменная $uid_got возвращает идентификатор пользователя, являющегося владельцем запроса; это полезно для управления доступом и ведения логов.
Кэшируется
$uid_reset
Переменная $uid_reset указывает, следует ли сбросить UID запроса на основе правил контроля доступа.
Кэшируется
$uid_set
Переменная $uid_set содержит идентификатор пользователя, установленный для текущего контекста запроса в NGINX.
Кэшируется
$uri
Переменная $uri в NGINX возвращает часть URI запрошенного ресурса без информации о домене или протоколе.
NGINX Core (Stream)3
$bytes_received
Переменная $bytes_received отслеживает общее количество байтов, полученных от клиентов в stream-модуле NGINX.
Кэшируется
$protocol
Переменная $protocol в контексте NGINX Stream возвращает протокол, используемый в соединении, например TCP или UDP.
Кэшируется
$session_time
Переменная $session_time возвращает продолжительность текущей потоковой сессии в секундах.
NGINX CoolKit Module2
NGINX Module for Google Mirror creation4
$google
Переменная $google возвращает информацию о конфигурации зеркала Google в зависимости от контекста запроса.
$google_host
Переменная $google_host содержит часть host URL Google, зеркалируемого модулем NGINX.
$google_schema
Переменная $google_schema возвращает тип схемы, заданный для зеркального экземпляра Google, как правило, для структурированных данных.
$google_schema_reverse
Переменная $google_schema_reverse содержит строку, указывающую, следует ли обратить реализацию схемы Google для запроса.
An NGINX module for collecting stats into Graphite1
NGINX JWT Module4
Kaltura Media Framework Common NGINX Module15
$live_ksmp_block_duration
Кэшируется
$live_ksmp_err_code
Кэшируется
$live_ksmp_err_msg
Кэшируется
$live_ksmp_source
Кэшируется
$pckg_channel_id
Кэшируется
$pckg_err_code
Кэшируется
$pckg_err_msg
Кэшируется
$pckg_last_part
Кэшируется
$pckg_media_type
$pckg_part_duration
Кэшируется
$pckg_segment_dts
Кэшируется
$pckg_timeline_id
Кэшируется
$pckg_var_*
Кэшируется
$pckg_variant_id
$pckg_variant_ids
Кэшируется
Secure token module for NGINX4
NGINX sysguard module10
Модуль анонимизации IP-адресов для NGINX3
Модуль для обработки загрузки файлов в NGINX16
$upload_content_range
$upload_content_type
$upload_field_name
$upload_file_crc32
$upload_file_md5
$upload_file_md5_uc
$upload_file_name
$upload_file_number
$upload_file_sha1
$upload_file_sha1_uc
$upload_file_sha256
$upload_file_sha256_uc
$upload_file_sha512
$upload_file_sha512_uc
$upload_file_size
$upload_tmp_path