logo

NGINX променливи

Променливите са естествената част от езиците за програмиране. Това са просто контейнери, съдържащи различни стойности в императивни езици като Perl, C/C++, Bourne shell, Perl. А стойностите могат да бъдат низове като „здравей свят“, числа като „3.14“ или дори сложни неща като препратки към масиви или хеш-таблици на тези езици.

За конфигурационния език на Nginx обаче променливите могат да съдържат само един тип стойности, т.е. низове. Но има интересно изключение: 3rdparty module ngx_array_var разширява променливите на Nginx, за да съдържат масиви, но се реализира чрез кодиране на C указател като стойност на двоичен низ зад сцената.

Променлив синтаксис

Помислете за нашия конфигурационен файл nginx.conf, който има следния ред:

 set $a 'hello world'; 

Тук присвояваме стойност на променливата '$a' чрез директивата за настройка на конфигурацията, която идва от стандартния модул nginx_rewrite. И тук присвояваме стойността на низа 'hello world' на '$a'.

От горния пример можем да видим, че името на променливата на Nginx приема знак за долар ($) пред себе си. Следователно можем да кажем, че когато искаме да добавим препратка към променлива на nginx в конфигурационния файл, трябва да добавим префикс за долар ($).

Нека видим друг прост пример,

претоварване на метода
 set $a hello; set $b '$a, $a'; 

От горния пример можем да видим, че променлива $a се използва за конструиране на стойността за променливата $b. След като тези две директиви завършат изпълнението, стойността на $a е 'hello', а $b е 'hello, hello'. Тази техника се нарича „променлива интерполация“.

Нека да видим списъка с променливи в Nginx:

Променлива Описание
$ancient_browser Тази променлива се използва за изравняване на стойността, зададена от директивата древна_браузър_стойност, ако даден браузър е идентифициран като древен.
$arg_name Име на аргумента в реда за заявка.
$args Списък с аргументи на реда за заявка.
$binary_remote_addr (ngx_http_core_module) Клиентски адрес в двоична форма. Дължината на стойността винаги е 4 байта за IP4 адреси или 16 байта за IPv6 адреси.
$binary_remote_addr (ngx_stream_core_module) Клиентски адрес в двоична форма. Дължината на стойността винаги е 4 байта за IP4 адреси или 16 байта за IPv6 адреси.
$body_bytes_sent Брой байтове, изпратени до клиента, без да се брои заглавката на отговора.
$bytes_received Брой байтове, получени от клиент.
$bytes_sent (ngx_http_core_module) Брой байтове, изпратени до клиент.
$bytes_sent (ngx_http_log_module) Брой байтове, изпратени до клиент.
$bytes_sent (ngx_stream_core_module) Брой байтове, изпратени до клиент.
$връзка (ngx_http_core_module) сериен номер на връзката
$връзка (ngx_http_log_module) сериен номер на връзката
$връзка (ngx_stream_core_module) сериен номер на връзката
$connection_requests (ngx_http_core_module) Текущ брой заявки, направени чрез връзка.
$connection_requests (ngx_http_log_module) Текущ брой заявки, направени чрез връзка.
$connections_active Същото като Активни връзки стойност
$connections_reading Същото като Четене стойност
$connections_waiting Същото като на Очакване стойност
$connections_writing Същото като стойността на писане.
$content_length Заглавно поле на заявка „Дължина на съдържанието“.
$content_type Заглавно поле на заявка „Тип съдържание“.
$cookie_name Името на бисквитката
$date_gmt Текущо време в GMT (средно време по Гринуич). За да зададете формата, използвайте конфиг команда с timefmt параметър.
$date_local Текущо време в местната часова зона. За да зададете формата, използвайте конфиг команда с timefmt параметър.
$document_root Стойност на директива root или псевдоним за текущата заявка.
$документи Същото е като $uri.
$fastcgi_path_info Когато използвате директивата fastcgi_split_path_info, променливата $fastcgi_script_name е равна на стойността на първото улавяне, зададено от директивата. И стойността на второто улавяне, зададена от директивата fastcgi_split_path_info. Тази променлива се използва за задаване на параметъра PATH_INFO.
$fastcgi_script_name URI на заявка (Uniform Resource Identifier) ​​или, ако URI завършва с наклонена черта, URI на заявка с име на индекс файл, конфигуриран от директивата fastcgi_index, добавена към него.
$geoip_area_code (ngx_http_geoip_module) Телефонен код (само за САЩ). Тази променлива може да съдържа известна информация, която е остаряла, тъй като съответното поле на базата данни е отхвърлено.
$geoip_area_code (ngx_stream_geoip_module) Телефонен код (само за САЩ). Тази променлива може да съдържа остаряла информация, тъй като съответното поле на базата данни е отхвърлено.
$geoip_city (ngx_http_geoip_module) Име на град, напр. „Вашинтон“, „Москва“.
$geoip_city (ngx_stream_geoip_module) Име на град, напр. „Вашинтон“, „Москва“.
$geoip_city_continent_code (ngx_http_geoip_module) Код на континента с две букви. Например „NA“, „EU“.
$geoip_city_continent_code (ngx_stream_geoip_module) Код на континента с две букви. Например „NA“, „EU“.
$geoip_city_country_code (ngx_http_geoip_module) Код на континента с две букви. Например „NA“, „EU“.
$geoip_city_country_code (ngx_http_geoip_module) Код на държавата с две букви. Например „RU“, „US“.
$geoip_city_country_code (ngx_stream_geoip_module) Код на държавата с две букви. Например „RU“, „US“.
$geoip_city_country_code3 (ngx_http_geoip_module) Трибуквен код на държавата. Например „RUS“, „USA“.
$geoip_city_country_code3 (ngx_stream_geoip_module) Трибуквен код на държавата. Например „RUS“, „USA“.
$geoip_city_country_name (ngx_http_geoip_module) Име на държавата. Например „Индия“, „Съединени щати“.
$geoip_city_country_name (ngx_stream_geoip_module) Име на държавата. Например „Индия“, „Съединени щати“.
$geoip_country_code (ngx_http_geoip_module) Код на държавата с две букви. Например „RU“, „US“.
$geoip_country_code (ngx_stream_geoip_module) Код на държавата с две букви. Например „RU“, „US“.
$geoip_country_code3 (ngx_http_geoip_module) Трибуквен код на държавата. Например „RUS“, „USA“.
$geoip_country_code3 (ngx_stream_geoip_module) Трибуквен код на държавата. Например „RUS“, „USA“.
$geoip_country_name (ngx_http_geoip_module) Име на държавата. Например „Индия“, „Съединени щати“.
$geoip_country_name (ngx_stream_geoip_module) Име на държавата. Например „Индия“, „Съединени щати“.
$geoip_dma_code (ngx_http_geoip_module) Това е DMA (Designated Market Area) код или код на метрото в САЩ, според географското насочване в Google AdWords API.
$geoip_dma_code (ngx_stream_geoip_module) Това е DMA (Designated Market Area) код или код на метрото в САЩ, според географското насочване в Google AdWords API.
$geoip_latitude (ngx_http_geoip_module) Географска ширина.
$geoip_latitude (ngx_stream_geoip_module) Географска ширина.
$geoip_longitude (ngx_http_geoip_module) Географска дължина
$geoip_longitude (ngx_stream_geoip_module) Географска дължина
$geoip_org (ngx_http_geoip_module) Име на организацията. Например „Калифорнийски университет“.
$geoip_org (ngx_stream_geoip_module) Име на организацията. Например „Калифорнийски университет“.
$geoip_postal_code (ngx_http_geoip_module) Пощенски код.
$geoip_postal_code (ngx_stream_geoip_module) Пощенски код.
$geoip_region (ngx_http_geoip_module) Името на региона (област, регион, щат, федерална земя, територия), например за град Москва, окръг Колумбия.
$geoip_region (ngx_stream_geoip_module) Името на региона (област, регион, щат, федерална земя, територия), например за град Москва, окръг Колумбия.
$geoip_region_name (ngx_http_geoip_module) Име на региона на държавата ((провинция, регион, щат, федерална земя, територия), например „град Москва“, „окръг Колумбия“.
$geoip_region_name (ngx_stream_geoip_module) Име на региона на държавата ((провинция, регион, щат, федерална земя, територия), например „град Москва“, „окръг Колумбия“.
$gzip_ratio Това е постигнатото съотношение на компресия, изчислено като съотношението между оригиналния и компресирания размер на отговора.
$хост Име на хост от реда за заявка, име на хост от полето за заглавка на заявката за хост или името на сървъра, съответстващо на заявка.
$hostname (ngx_http_core_module) Име на хост.
$hostname (ngx_stream_core_module) Име на хост.
$http2 Идентификатор на договорен протокол: h2 за HTTP/2 през TLS, h2c за HTTP/2 през чист текст TCP или празен низ в противен случай.
$http_име Това е полето за заглавка на произволна заявка: последната част от името на променлива е името на полето, което се преобразува в малки букви с тирета, заменени с долна черта.
$https Ако връзката работи в режим SSL, тогава тя е „включена“ или празен низ в противен случай.
$invalid_referer Ако стойността на полето на заглавката на заявката „Referer“ се счита за валидна, тогава низът е празен, в противен случай 1.
$is_args '?' ако ред на заявка има аргументи или празен низ в противен случай.
$jwt_claim_name Той връща стойността на определено JWT (JSON уеб токен) искане.
$jwt_header_name Връща стойността на определен JOSE (JavaScript Object Signing and Encryption) заглавка.
$limit_rate Задаването на тази променлива позволява ограничаване на скоростта на реакция.
$memcached_key Дефинира ключ за получаване на отговор от memcached сървър.
$modern_browser Равно на стойността, зададена от директивата modern_browser_value, ако даден браузър е идентифициран като модерен.
$msec (ngx_http_core_module) Текущо време в секунди с резолюция ms (милисекунди).
$msec (ngx_http_log_module) Време в секунди с разделителна способност от милисекунди по време на запис на дневника.
$msec (ngx_stream_core_module) Текущо време в секунди с резолюция ms (милисекунди).
г-н Равно на 1, ако даден браузър е идентифициран като MSIE (Microsoft Internet Explorer) от която и да е версия.
$nginx_version (ngx_http_core_module) Показва версията на nginx
$nginx_version (ngx_stream_core_module) Nginx версия.
$pid (ngx_http_core_module) PID (ID на процес) на работния процес.
$pid (ngx_stream_core_module) PID (ID на процес) на работния процес.
$pipe (ngx_http_core_module) 'p', ако заявката е конвейерна, '.' В противен случай.
$pipe (ngx_http_log_module) 'p', ако заявката е конвейерна, '.' В противен случай.
$протокол Протокол, използван за комуникация с клиента: UDP или TCP.
$proxy_add_x_forwarded_for полето за заглавка на клиентската заявка 'X-Forwarded-For' с добавената към него променлива $remote_addr, разделена със запетая. Ако полето „X-Forwarded-For“ не присъства в заглавката на клиентската заявка, променливата $proxy_add_x_forwarded_for е равна на променливата $remote_addr.
$proxy_host Име и порт на прокси сървъра, както е посочено в директивата proxy_pass.
$proxy_port Порт на прокси сървъра, както е посочено в директивата proxy_pass, или порта по подразбиране на протокола.
$proxy_protocol_addr (ngx_http_core_module) Адрес на клиента от заглавката на протокола PROXY или празен низ в противен случай. Протоколът PROXY трябва да бъде активиран преди това. Това може да стане чрез задаване на параметъра на прокси протокола в директивата за слушане.
$proxy_protocol_addr (ngx_stream_core_module) Адрес на клиента от заглавката на протокола PROXY или празен низ в противен случай. Протоколът PROXY трябва да бъде активиран преди това. Това може да стане чрез задаване на параметъра на прокси протокола в директивата за слушане.
$proxy_protocol_port (ngx_http_core_module) Адрес на клиента от заглавката на протокола PROXY или празен низ в противен случай. Протоколът PROXY трябва да бъде активиран преди това. Това може да стане чрез задаване на параметъра на прокси протокола в директивата за слушане.
$proxy_protocol_port (ngx_stream_core_module) Адрес на клиента от заглавката на протокола PROXY или празен низ в противен случай. Протоколът PROXY трябва да бъде активиран преди това. Това може да стане чрез задаване на параметъра на прокси протокола в директивата за слушане.
$query_string Същото като $args
$realip_remote_addr (ngx_http_realip_module) Използва се за запазване на оригиналния клиентски адрес.
$realip_remote_addr (ngx_stream_realip_module) Използва се за запазване на оригиналния клиентски адрес.
$realip_remote_port (ngx_http_realip_module) Използва се за запазване на оригиналния клиентски адрес.
$realip_remote_port (ngx_stream_realip_module) Използва се за запазване на оригиналния клиентски адрес.
$realpath_root Абсолютно име на път, съответстващо на стойността на псевдонима или основната директива за текущата заявка, като всички символни връзки са разрешени в реални пътища.
$remote_addr (ngx_http_core_module) Адрес на клиента
$remote_addr (ngx_stream_core_module) Адрес на клиента
$remote_port (ngx_http_core_module) Клиентски порт
$remote_port (ngx_stream_core_module) Клиентски порт
$remote_user Потребителско име, предоставено с основното удостоверяване.
$заявка Пълен оригинален ред за заявка.
$request_body Стойността на променливата става достъпна в местоположения, обработвани от директивата proxy_pass и scgi_pass, когато тялото на заявката е прочетено в memory_buffer.
$request_body_file Име на временен файл с тялото на заявката.
$request_completion Стойността е „OK“, ако заявката е изпълнена, или празен низ в противен случай.
$request_filename Пътят на файла за текущата заявка, базиран на директивите root или псевдоним, и URI на заявката.
$request_id Уникален идентификатор на заявка, генериран от 16 произволни байта, в шестнадесетичен формат.
$request_length (ngx_http_core_module) Дължина на заявката (ред на заявката, тяло на заявката и заглавка).
$request_length (ngx_http_log_module) Дължина на заявката (ред на заявката, тяло на заявката и заглавка).
$request_method Метод на заявка. Обикновено 'GET' или 'POST'.
$request_time (ngx_http_core_module) Време за обработка на заявка в секунди с резолюция от милисекунди; време, изминало от прочитането на първите байтове от клиента.
$request_time (ngx_http_log_module) Време за обработка на заявка в секунди с резолюция от милисекунди; време, изминало между първите байтове, прочетени от клиента, и записа в журнала, след като последните байтове бяха изпратени на клиента.
$request_uri Пълен URI на оригиналната заявка (Uniform Resource Identifier) ​​с аргументи.
$схема Схема на заявка, която може да бъде http или https
$secure_link Показва състоянието проверка на връзката и стойността зависи от избрания режим на работа.
$secure_link_expires Животът на връзката, предадена в заявка;
$sent_http_name Това е полето за заглавка на произволен отговор; последната част от името на променлива е името на полето, преобразувано в малки букви с тирета, заменени с долна черта.
$sent_trailer_name Произволно поле, изпратено в края на отговора; последната част от името на променлива е името на полето, преобразувано в малки букви с тирета, заменени с долна черта.
$server_addr (ngx_http_core_module) Адресът на сървъра, който е приел заявка. За изчисляване на стойността на тази променлива е необходимо системно извикване.
$server_addr (ngx_stream_core_module) Адресът на сървъра, който е приел заявка. За изчисляване на стойността на тази променлива е необходимо системно извикване.
$server_name Името на сървъра, който е приел заявка.
$server_port (ngx_http_core_module) Порт на сървъра, който е приел заявка.
$server_port (ngx_stream_core_module) Порт на сървъра, който е приел връзка.
$server_protocol Това е протокол за заявка, обикновено HTTP/1.0, HTTP/1.1 или HTTP/2.0.
$session_log_binary_id ID на текущата сесия в двоична форма.
$session_log_id ID на текущата сесия.
$session_time Продължителност на сесията в секунди с резолюция милисекунди.
$slice_range Текущият диапазон на срезове във формат на диапазон на HTTP байт. напр. байтове=0-1048575
$spdy Версия на протокола SPDY за SPDY (произнася се като бързи) връзки или празен низ в противен случай.
$spdy_request_priority Заявка за приоритет за SPDY (произнася се като бързи) връзки или празен низ в противен случай.
$ssl_cipher (ngx_http_ssl_module) Връща низа от шифри, използвани за установена SSL (слой със защитени сокети) връзка.
$ssl_cipher (ngx_stream_ssl_module) Връща низа от шифри, използвани за установена SSL (слой със защитени сокети) връзка.
$ssl_ciphers (ngx_http_ssl_module) Той ще върне списъка с шифри, поддържани от клиента. Тук известните шифри са изброени по имена, а неизвестните са показани в шестнадесетичен, например AES128-SHA:AES256-SHA:0x00ff
$ssl_ciphers (ngx_stream_ssl_module) Той ще върне списъка с шифри, поддържани от клиента. Тук известните шифри са изброени по имена, а неизвестните са показани в шестнадесетичен, например AES128-SHA:AES256-SHA:0x00ff
$ssl_client_cert (ngx_http_ssl_module) Той ще върне клиентския сертификат в PEM (Privacy Enhanced Mail) за установена SSL връзка, с всеки ред с изключение на 1улпредхождащ знака табулатор.
$ssl_client_cert (ngx_stream_ssl_module) Той ще върне клиентския сертификат в PEM (Privacy Enhanced Mail) за установена SSL връзка, с всеки ред с изключение на 1улпредхождащ знака табулатор.
$ssl_client_escaped_cert Той ще върне клиентския сертификат в PEM (Privacy Enhanced Mail) за установена SSL връзка
$ssl_client_fingerprint (ngx_http_ssl_module) Той ще върне пръстовия отпечатък SHA1 (Secure Hash Algorithm) на клиентския сертификат за установена SSL връзка.
$ssl_client_fingerprint (ngx_stream_ssl_module) Той ще върне пръстовия отпечатък SHA1 (Secure Hash Algorithm) на клиентския сертификат за установена SSL връзка.
$ssl_client_i_dn (ngx_http_ssl_module) Връща низа „ISsuer DN“ (където DN е отличително име) на клиентския сертификат за установена SSL връзка съгласно RFC 2253.
$ssl_client_i_dn (ngx_stream_ssl_module) Връща низа „ISsuer DN“ (където DN е отличително име) на клиентския сертификат за установена SSL връзка съгласно RFC 2253.
$ssl_client_i_dn_legacy Връща низа „ISsuer DN“ (където DN е отличително име) на клиентския сертификат за установена SSL връзка.
$ssl_client_raw_cert (ngx_http_ssl_module) Той ще върне клиентския сертификат във формат PEM (Privacy Enhanced Mail) за установена SSL връзка.
$ssl_client_raw_cert (ngx_stream_ssl_module) Той ще върне клиентския сертификат във формат PEM (Privacy Enhanced Mail) за установена SSL връзка.
$ssl_client_s_dn (ngx_http_ssl_module) Връща низа „subject DN“ (където DN е отличително име) на клиентския сертификат за установена SSL връзка съгласно RFC2253.
$ssl_client_s_dn (ngx_stream_ssl_module) Връща низа „subject DN“ (където DN е отличително име) на клиентския сертификат за установена SSL връзка съгласно RFC2253.
$ssl_client_s_dn_legacy Връща низа „subject DN“ (където DN е отличително име) на клиентския сертификат за установена SSL връзка.
$ssl_client_serial (ngx_http_ssl_module) Той ще върне серийния номер на клиентския сертификат за установена SSL връзка.
$ssl_client_serial (ngx_stream_ssl_module) Той ще върне серийния номер на клиентския сертификат за установена SSL връзка.
$ssl_client_v_end (ngx_http_ssl_module) Той ще върне крайната дата на клиентския сертификат.
$ssl_client_v_end (ngx_stream_ssl_module) Той ще върне крайната дата на клиентския сертификат.
$ssl_client_v_remain (ngx_http_ssl_module) Той ще върне броя дни до изтичане на клиентския сертификат.
$ssl_client_v_remain (ngx_stream_ssl_module) Той ще върне броя дни до изтичане на клиентския сертификат.
$ssl_client_v_start (ngx_http_ssl_module) Той ще върне началната дата на клиентския сертификат.
$ssl_client_v_start (ngx_stream_ssl_module) Той ще върне началната дата на клиентския сертификат.
$ssl_client_verify (ngx_http_ssl_module) Той ще върне резултата от проверката на сертификата на клиента: „SUCCESS“, „FAILD:reason“ и „NONE“, ако сертификатът не е наличен.
$ssl_client_verify (ngx_stream_ssl_module) Той ще върне резултата от проверката на сертификата на клиента: „SUCCESS“, „FAILD:reason“ и „NONE“, ако сертификатът не е наличен.
$ssl_curves (ngx_http_ssl_module) Връща списъка с криви, поддържани от клиента. Всички известни криви са изброени по имена, а неизвестните са показани в шестнадесетичен формат, например: 0x001d:prime256v1:secp521r1:secp384r1
$ssl_curves (ngx_stream_ssl_module) Връща списъка с криви, поддържани от клиента. Всички известни криви са изброени по имена, а неизвестните са показани в шестнадесетичен формат, например: 0x001d:prime256v1:secp521r1:secp384r1
$ssl_early_data Ще върне 1, ако се използват ранни данни от TLS 1.3 и ръкостискането не е завършено, в противен случай се връща празно.
$ssl_preread_alpn_protocols Той връща списъка с протоколи, обявени от клиента чрез ALPN, като стойностите са разделени със запетаи.
$ssl_preread_protocol Най-високата версия на протокола SSL (Secure Sockets слой), поддържана от клиента.
$ssl_preread_име_на_сървър Връща името на сървъра, поискано чрез SNI (индикация за име на сървър).
$ssl_protocol (ngx_http_ssl_module) Той ще върне протокола на установена SSL връзка.
$ssl_protocol (ngx_stream_ssl_module) Той ще върне протокола на установена SSL връзка.
$ssl_server_name (ngx_http_ssl_module) Връща името на сървъра, поискано чрез SNI (индикация за име на сървър).
$ssl_server_name (ngx_stream_ssl_module) Връща името на сървъра, поискано чрез SNI (индикация за име на сървър).
$ssl_session_id (ngx_http_ssl_module) Той ще върне идентификатора на сесията на установена SSL връзка.
$ssl_session_id (ngx_stream_ssl_module) Той ще върне идентификатора на сесията на установена SSL връзка.
$ssl_session_reused (ngx_http_ssl_module) Връща 'r', ако SSL сесия е била използвана повторно или '.' В противен случай.
$ssl_session_reused (ngx_stream_ssl_module) Връща 'r', ако SSL сесия е била използвана повторно или '.' В противен случай.
$статус (ngx_http_core_module) Състояние на отговора.
$статус (ngx_http_log_module) Състояние на отговора.
$статус (ngx_stream_core_module) Състояние на сесията, което може да бъде едно от следните: 200: Сесията е завършена успешно. 400: Данните на клиента не могат да бъдат анализирани. 403: достъпът е забранен. 500 Вътрешна грешка на сървъра. 502: лош шлюз. 503 Услугата не е достъпна.
$tcpinfo_rtt Показва информацията за клиентската TCP връзка, налична на системи, които поддържат TCP_INFO опция за гнездо.
$tcpinfo_rttvar Показва информацията за клиентската TCP връзка, налична на системи, които поддържат TCP_INFO опция за гнездо.
$tcpinfo_snd_cwnd Показва информацията за клиентската TCP връзка, налична на системи, които поддържат TCP_INFO опция за гнездо.
$tcpinfo_rcv_space Показва информацията за клиентската TCP връзка, налична на системи, които поддържат TCP_INFO опция за гнездо.
$time_iso8601 (ngx_http_core_module) Показва местното време в стандартния формат на ISO 8601.
$time_iso8601 (ngx_http_log_module) Показва местното време в стандартния формат на ISO 8601.
$time_iso8601 (ngx_stream_core_module) Показва местното време в стандартния формат на ISO 8601.
$time_local (ngx_http_core_module) Показва местното време във формат на общ дневник
$time_local (ngx_http_log_module) Показва местното време във формат на общ дневник.
$time_local (ngx_stream_core_module) Показва местното време във формат на общ дневник.
$uid_got Името на бисквитката и получения идентификатор на клиента.
$uid_reset Ако променливата е зададена на низ „непразен“, това означава, че не е „0“, тогава идентификаторът на клиента се нулира. Специалната стойност дневник допълнително води до извеждане на съобщения относно идентификаторите за нулиране в error_log.
$uid_set Името на бисквитката и изпратения идентификатор на клиента.
$upstream_addr (ngx_http_upstream_module) Той ще запази IP адреса и порта или пътя до сокета на UNIX домейна на сървъра нагоре по веригата. Ако по време на обработката на заявката е осъществен контакт с няколко сървъра, тогава техните адреси се разделят със запетаи.
$upstream_addr (ngx_stream_upstream_module) Той ще запази IP адреса и порта или пътя до сокета на UNIX домейна на сървъра нагоре по веригата. Ако по време на обработката на заявката е осъществен контакт с няколко сървъра, тогава техните адреси се разделят със запетаи.
$upstream_bytes_received (ngx_http_upstream_module) Брой байтове, получени от сървър за възходящ поток. Стойностите от няколко връзки са разделени със запетаи (,) и двоеточия (:) като адресите в променливата $upstream_addr.
$upstream_bytes_received (ngx_stream_upstream_module) Брой байтове, получени от сървър за възходящ поток. Стойностите от няколко връзки са разделени със запетаи (,) и двоеточия (:) като адресите в $upstream_addr променлива.
$upstream_bytes_sent (ngx_http_upstream_module) Брой байтове, изпратени до сървър за възходящ поток. Стойностите от няколко връзки са разделени със запетаи (,) и двоеточия (:) като адресите в $upstream_addr променлива.
$upstream_bytes_sent (ngx_stream_upstream_module) Брой байтове, изпратени до сървър за възходящ поток. Стойностите от няколко връзки са разделени със запетаи (,) и двоеточия (:) като адресите в $upstream_addr променлива.
$upstream_cache_status Той ще запази състоянието на достъп до кеша на отговорите. Състоянието може да бъде или „БАЙПАС“, „МИС“, „ИЗТЕКЪЛ“, „ЗАСТАРЯЛ“, „ПРЕВЕРЕН“, „АКТУАЛИЗИРАНЕ“ или „ПОСЛЕДВАНЕ“.
$upstream_connect_time (ngx_http_upstream_module) Използва се за запазване на времето, изразходвано за установяване на връзка със сървъра нагоре (1.9.1); времето се съхранява в секунди с резолюция от милисекунди. В случай на SSL, добавя времето, прекарано на ръкостискане. Времената на няколко връзки са разделени със запетаи (,) и двоеточия (:) като адресите в променливата $upstream_addr.
$upstream_connect_time (ngx_stream_upstream_module) Запазва времето за свързване към сървъра нагоре по веригата; времето се съхранява в секунди с резолюция милисекунди. Времената на няколко връзки са разделени със запетаи (,) като адресите в променливата $upstream_addr.
$upstream_cookie_name Бисквитка с дефинираното име, изпратено от сървъра нагоре по веригата в полето за заглавка на отговора Set-Cookie. Запазват се само бисквитките от отговора на последния сървър.
$upstream_first_byte_time Време за получаване на първия байт данни. Времето се съхранява в секунди с резолюция от милисекунди. Времената на множество връзки са разделени със запетаи (,) като адресите в променливата $upstream_addr.
$upstream_header_time Използва се за запазване на времето, изразходвано за получаване на заглавка от сървъра нагоре по веригата. Времената на множество връзки са разделени със запетаи (,) и двоеточия (:) като адресите в променливата $upstream_addr.
$upstream_http_име Запазете заглавните полета на отговора на сървъра.
$upstream_queue_time Използва се за запазване на времето, прекарано от заявката в опашката нагоре; времето се съхранява в секунди с резолюция милисекунди. Времената на множество връзки са разделени със запетаи (,) и двоеточия (:) като адресите в променливата $upstream_addr.
$upstream_response_length Използва се за запазване на дължината на отговора, получен от сървъра нагоре по веригата. Дължината се съхранява в байтове. Дължините на множество отговори са разделени със запетаи (,) и двоеточия (:) като адресите в променливата $upstream_addr.
$upstream_response_time Използва се за запазване на времето, изразходвано за получаване на отговор от сървъра нагоре по веригата; времето се съхранява в секунди с резолюция милисекунди. Времената на няколко връзки са разделени със запетаи (,) и двоеточия (:) като адресите в променливата $upstream_addr.
$upstream_session_time Продължителност на сесията в секунди с резолюция милисекунди. Времената на няколко връзки са разделени със запетаи (,) като адресите в променливата $upstream_addr.
$upstream_status Използва се за запазване на кода на състоянието на отговора, получен от сървъра нагоре по веригата. Кодовете на състоянието на няколко отговора са разделени със запетаи (,) и двоеточия (:) като адресите в променливата $upstream_addr. Ако сървърът не може да бъде избран, променливата запазва кода на състоянието 502 (лош шлюз).
$upstream_trailer_name Използва се за запазване на полето от края на отговора, получен от сървъра нагоре по веригата.
Тип Текущ URI в заявка, нормализиран. Можем да променим стойността на $uri по време на обработка на заявка, напр. когато правите вътрешни пренасочвания или когато използвате индексни файлове.