Zmienne są naturalną częścią języków programowania. To po prostu kontenery przechowujące różne wartości w językach imperatywnych, takich jak Perl, C/C++, powłoka Bourne'a, Perl. Wartościami mogą być ciągi znaków, takie jak „witaj, świecie”, liczby, takie jak „3,14”, lub nawet skomplikowane rzeczy, takie jak odniesienia do tablic lub tabel mieszania w tych językach.
Jednak w przypadku języka konfiguracyjnego Nginx zmienne mogą przechowywać tylko jeden typ wartości, tj. ciągi znaków. Ale jest interesujący wyjątek: 3r & Dmoduł party ngx_array_var rozszerza zmienne Nginx tak, aby zawierały tablice, ale jest to implementowane poprzez zakodowanie wskaźnika C jako wartości ciągu binarnego za sceną.
Zmienna składnia
Weź pod uwagę, że nasz plik konfiguracyjny nginx.conf zawiera następujący wiersz:
set $a 'hello world';
Tutaj przypisujemy wartość zmiennej „$a” poprzez dyrektywę konfiguracyjną set, która pochodzi ze standardowego modułu nginx_rewrite. I tutaj przypisujemy wartość ciągu „witaj świecie” do „$a”.
Z powyższego przykładu widzimy, że nazwa zmiennej Nginx ma przed sobą znak dolara ($). Dlatego możemy powiedzieć, że ilekroć chcemy dodać odwołanie do zmiennej nginx w pliku konfiguracyjnym, musimy dodać przedrostek dolara ($).
Zobaczmy inny prosty przykład,
set $a hello; set $b '$a, $a';
Z powyższego przykładu widzimy, że zmienna $a została użyta do skonstruowania wartości zmiennej $b. Zatem po zakończeniu wykonywania tych dwóch dyrektyw wartość $a to „witaj”, a $b to „witaj, witaj”. Technika ta nazywana jest „interpolacją zmiennych”.
Zobaczmy listę zmiennych w Nginx:
| Zmienny | Opis |
|---|---|
| $ancient_przeglądarka | Ta zmienna jest równa wartości ustawionej przez dyrektywę Ancient_browser_value, jeśli przeglądarka została zidentyfikowana jako stara. |
| $nazwa_argumentu | Nazwa argumentu w wierszu żądania. |
| $argumenty | Lista argumentów w wierszu żądania. |
| $binary_remote_addr (ngx_http_core_module) | Adres klienta w postaci binarnej. Długość wartości wynosi zawsze 4 bajty dla adresów IP4 lub 16 bajtów dla adresów IPv6. |
| $binary_remote_addr (ngx_stream_core_module) | Adres klienta w postaci binarnej. Długość wartości wynosi zawsze 4 bajty dla adresów IP4 lub 16 bajtów dla adresów IPv6. |
| $body_bytes_sent | Liczba bajtów wysłanych do klienta, nie liczy się nagłówek odpowiedzi. |
| Otrzymano $bajtów | Liczba bajtów otrzymanych od klienta. |
| $bytes_sent (ngx_http_core_module) | Liczba bajtów wysłanych do klienta. |
| $bytes_sent (ngx_http_log_module) | Liczba bajtów wysłanych do klienta. |
| $bytes_sent (ngx_stream_core_module) | Liczba bajtów wysłanych do klienta. |
| $połączenie (ngx_http_core_module) | numer seryjny połączenia |
| $połączenie (ngx_http_log_module) | numer seryjny połączenia |
| $połączenie (ngx_stream_core_module) | numer seryjny połączenia |
| $connection_requests (ngx_http_core_module) | Bieżąca liczba żądań przesłanych poprzez połączenie. |
| $connection_requests (ngx_http_log_module) | Bieżąca liczba żądań przesłanych poprzez połączenie. |
| $połączenia_aktywne | Taki sam jak Aktywne połączenia wartość |
| $połączenia_czytanie | Taki sam jak Czytanie wartość |
| $połączenia_oczekiwania | Tak samo jak Czekanie wartość |
| $connections_writing | Taka sama jak wartość zapisu. |
| $długość_treści | Pole nagłówka żądania „Długość treści”. |
| $typ_treści | Pole nagłówka żądania „Typ zawartości”. |
| $nazwa_pliku cookie | Nazwa pliku cookie |
| $data_gmt | Aktualny czas w formacie GMT (czas uniwersalny Greenwich). Aby ustawić format, użyj opcji konfiguracja polecenie z czas parametr. |
| $data_lokalna | Aktualny czas w lokalnej strefie czasowej. Aby ustawić format, użyj opcji konfiguracja polecenie z czas parametr. |
| $katalog_dokumentu | Wartość dyrektywy root lub alias dla bieżącego żądania. |
| $dokumenty | Jest taki sam jak $uri. |
| $fastcgi_path_info | Podczas korzystania z dyrektywy fastcgi_split_path_info zmienna $fastcgi_script_name jest równa wartości pierwszego przechwytywania ustawionego przez dyrektywę. Oraz wartość drugiego przechwytywania ustawiona przez dyrektywę fastcgi_split_path_info. Zmienna ta służy do ustawiania parametru PATH_INFO. |
| $fastcgi_nazwa_skryptu | Zażądaj URI (Uniform Resource Identifier) lub, jeśli URI kończy się ukośnikiem, zażądaj URI z nazwą pliku indeksu skonfigurowaną przez dołączoną do niego dyrektywę fastcgi_index. |
| $geoip_area_code (ngx_http_geoip_module) | Numer kierunkowy telefonu (tylko USA). Ta zmienna może zawierać pewne informacje, które są nieaktualne, ponieważ odpowiednie pole bazy danych jest przestarzałe. |
| $geoip_area_code (ngx_stream_geoip_module) | Numer kierunkowy telefonu (tylko USA). Ta zmienna może zawierać nieaktualne informacje, ponieważ odpowiednie pole bazy danych jest przestarzałe. |
| $geoip_city (ngx_http_geoip_module) | Nazwa miasta, np. „Waszynton”, „Moskwa”. |
| $geoip_city (ngx_stream_geoip_module) | Nazwa miasta, np. „Waszynton”, „Moskwa”. |
| $geoip_city_continent_code (ngx_http_geoip_module) | Kod kontynentu składający się z dwóch liter. Na przykład „NA”, „UE”. |
| $geoip_city_continent_code (ngx_stream_geoip_module) | Kod kontynentu składający się z dwóch liter. Na przykład „NA”, „UE”. |
| $geoip_city_country_code (ngx_http_geoip_module) | Kod kontynentu składający się z dwóch liter. Na przykład „NA”, „UE”. |
| $geoip_city_country_code (ngx_http_geoip_module) | Kod kraju w dwóch literach. Na przykład „RU”, „US”. |
| $geoip_city_country_code (ngx_stream_geoip_module) | Kod kraju w dwóch literach. Na przykład „RU”, „US”. |
| $geoip_city_country_code3 (ngx_http_geoip_module) | Kod kraju składający się z trzech liter. Na przykład „RUS”, „USA”. |
| $geoip_city_country_code3 (ngx_stream_geoip_module) | Kod kraju składający się z trzech liter. Na przykład „RUS”, „USA”. |
| $geoip_city_country_name (ngx_http_geoip_module) | Nazwa kraju. Na przykład „Indie”, „Stany Zjednoczone”. |
| $geoip_city_country_name (ngx_stream_geoip_module) | Nazwa kraju. Na przykład „Indie”, „Stany Zjednoczone”. |
| $geoip_country_code (ngx_http_geoip_module) | Kod kraju w dwóch literach. Na przykład „RU”, „US”. |
| $geoip_country_code (ngx_stream_geoip_module) | Kod kraju w dwóch literach. Na przykład „RU”, „US”. |
| $geoip_country_code3 (ngx_http_geoip_module) | Kod kraju składający się z trzech liter. Na przykład „RUS”, „USA”. |
| $geoip_country_code3 (ngx_stream_geoip_module) | Kod kraju składający się z trzech liter. Na przykład „RUS”, „USA”. |
| $geoip_country_name (ngx_http_geoip_module) | Nazwa kraju. Na przykład „Indie”, „Stany Zjednoczone”. |
| $geoip_country_name (ngx_stream_geoip_module) | Nazwa kraju. Na przykład „Indie”, „Stany Zjednoczone”. |
| $geoip_dma_code (ngx_http_geoip_module) | Jest to kod DMA (Designated Market Area) lub kod metra w USA, zgodnie z kierowaniem geograficznym w interfejsie API Google AdWords. |
| $geoip_dma_code (ngx_stream_geoip_module) | Jest to kod DMA (Designated Market Area) lub kod metra w USA, zgodnie z kierowaniem geograficznym w interfejsie API Google AdWords. |
| $geoip_latitude (ngx_http_geoip_module) | Szerokość. |
| $geoip_latitude (ngx_stream_geoip_module) | Szerokość. |
| $geoip_longitude (ngx_http_geoip_module) | Długość geograficzna |
| $geoip_longitude (ngx_stream_geoip_module) | Długość geograficzna |
| $geoip_org (ngx_http_geoip_module) | Nazwa organizacji. Na przykład „Uniwersytet Kalifornijski”. |
| $geoip_org (ngx_stream_geoip_module) | Nazwa organizacji. Na przykład „Uniwersytet Kalifornijski”. |
| $geoip_postal_code (ngx_http_geoip_module) | Kod pocztowy. |
| $geoip_postal_code (ngx_stream_geoip_module) | Kod pocztowy. |
| $geoip_region (ngx_http_geoip_module) | Nazwa regionu (prowincja, region, stan, teren federalny, terytorium), na przykład dla miasta Moskwa, DC. |
| $geoip_region (ngx_stream_geoip_module) | Nazwa regionu (prowincja, region, stan, teren federalny, terytorium), na przykład dla miasta Moskwa, DC. |
| $geoip_region_name (ngx_http_geoip_module) | Nazwa regionu kraju ((prowincja, region, stan, kraj federalny, terytorium), na przykład „Miasto Moskwa”, „Dystrykt Kolumbii”. |
| $geoip_region_name (ngx_stream_geoip_module) | Nazwa regionu kraju ((prowincja, region, stan, kraj federalny, terytorium), na przykład „Miasto Moskwa”, „Dystrykt Kolumbii”. |
| $gzip_ratio | Jest to osiągnięty stopień kompresji, obliczony jako stosunek pomiędzy rozmiarami odpowiedzi oryginalnej i skompresowanej. |
| $gospodarz | Nazwa hosta z wiersza żądania, nazwa hosta z pola nagłówka żądania hosta lub nazwa serwera pasująca do żądania. |
| $nazwa hosta (ngx_http_core_module) | Nazwa hosta. |
| $nazwa hosta (ngx_stream_core_module) | Nazwa hosta. |
| $http2 | Negocjowany identyfikator protokołu: h2 dla HTTP/2 przez TLS, h2c dla HTTP/2 przez TCP w postaci zwykłego tekstu lub w przeciwnym razie pusty ciąg znaków. |
| $nazwa_http | Jest to dowolne pole nagłówka żądania: ostatnia część nazwy zmiennej to nazwa pola, która jest konwertowana na małe litery z myślnikami zastąpionymi podkreśleniami. |
| $https | Jeśli połączenie działa w trybie SSL, to jest ono włączone lub w innym przypadku jest pustym ciągiem znaków. |
| $nieprawidłowy_referer | Jeśli wartość pola nagłówka żądania „Referer” zostanie uznana za prawidłową, wówczas ciąg znaków będzie pusty, w przeciwnym razie 1. |
| $is_args | „?” jeśli linia żądania zawiera argumenty, lub w przeciwnym razie pusty ciąg. |
| $jwt_claim_name | Zwraca wartość określonego żądania JWT (JSON Web Token). |
| $jwt_nazwa_nagłówka | Zwraca wartość określonego nagłówka JOSE (podpisywanie i szyfrowanie obiektów JavaScript). |
| $limit_rate | Ustawienie tej zmiennej umożliwia ograniczenie szybkości reakcji. |
| $memcached_key | Definiuje klucz do uzyskania odpowiedzi z serwera memcached. |
| $modern_przeglądarka | Równa się wartości ustawionej przez dyrektywę modern_browser_value, jeśli przeglądarka została zidentyfikowana jako nowoczesna. |
| $ms (ngx_http_core_module) | Aktualny czas w sekundach z rozdzielczością ms (milisekund). |
| $msec (ngx_http_log_module) | Czas w sekundach z rozdzielczością milisekundową w momencie zapisu dziennika. |
| $ms (ngx_stream_core_module) | Aktualny czas w sekundach z rozdzielczością ms (milisekund). |
| Pan | Równa się 1, jeśli przeglądarka została zidentyfikowana jako MSIE (Microsoft Internet Explorer) w dowolnej wersji. |
| $nginx_version (ngx_http_core_module) | Pokazuje wersję nginx |
| $nginx_version (ngx_stream_core_module) | Wersja Nginxa. |
| $pid (ngx_http_core_module) | PID (identyfikator procesu) procesu roboczego. |
| $pid (ngx_stream_core_module) | PID (identyfikator procesu) procesu roboczego. |
| $potok (ngx_http_core_module) | „p”, jeśli żądanie zostało przesłane w trybie potokowym, „.” W przeciwnym razie. |
| $potok (ngx_http_log_module) | „p”, jeśli żądanie zostało przesłane w trybie potokowym, „.” W przeciwnym razie. |
| $protokół | Protokół używany do komunikacji z klientem: UDP lub TCP. |
| $proxy_add_x_forwarded_for | pole nagłówka żądania klienta „X-Forwarded-For” z dołączoną do niego zmienną $remote_addr, oddzielone przecinkiem. Jeśli w nagłówku żądania klienta nie ma pola „X-Forwarded-For”, zmienna $proxy_add_x_forwarded_for jest równa zmiennej $remote_addr. |
| $proxy_host | Nazwa i port serwera proxy zgodnie z dyrektywą proxy_pass. |
| $port_proxy | Port serwera proxy określony w dyrektywie proxy_pass lub domyślny port protokołu. |
| $proxy_protocol_addr (ngx_http_core_module) | Adres klienta z nagłówka protokołu PROXY lub w innym przypadku pusty ciąg znaków. Protokół PROXY musi być wcześniej włączony. Można tego dokonać ustawiając parametr protokołu proxy w dyrektywie Listen. |
| $proxy_protocol_addr (ngx_stream_core_module) | Adres klienta z nagłówka protokołu PROXY lub w innym przypadku pusty ciąg znaków. Protokół PROXY musi być wcześniej włączony. Można tego dokonać ustawiając parametr protokołu proxy w dyrektywie Listen. |
| $proxy_protocol_port (ngx_http_core_module) | Adres klienta z nagłówka protokołu PROXY lub w innym przypadku pusty ciąg znaków. Protokół PROXY musi być wcześniej włączony. Można tego dokonać ustawiając parametr protokołu proxy w dyrektywie Listen. |
| $proxy_protocol_port (ngx_stream_core_module) | Adres klienta z nagłówka protokołu PROXY lub w innym przypadku pusty ciąg znaków. Protokół PROXY musi być wcześniej włączony. Można tego dokonać ustawiając parametr protokołu proxy w dyrektywie Listen. |
| $zapytanie_ciąg | To samo co $args |
| $realip_remote_addr (ngx_http_realip_module) | Służy do zachowania pierwotnego adresu klienta. |
| $realip_remote_addr (ngx_stream_realip_module) | Służy do zachowania pierwotnego adresu klienta. |
| $realip_remote_port (ngx_http_realip_module) | Służy do zachowania pierwotnego adresu klienta. |
| $realip_remote_port (ngx_stream_realip_module) | Służy do zachowania pierwotnego adresu klienta. |
| $realpath_root | Bezwzględna nazwa ścieżki odpowiadająca wartości aliasu lub dyrektywy root dla bieżącego żądania, ze wszystkimi dowiązaniami symbolicznymi przekształconymi w ścieżki rzeczywiste. |
| $remote_addr (ngx_http_core_module) | Adres Klienta |
| $remote_addr (ngx_stream_core_module) | Adres Klienta |
| $remote_port (ngx_http_core_module) | Port Klienta |
| $remote_port (ngx_stream_core_module) | Port klienta |
| $zdalny_użytkownik | Nazwa użytkownika dostarczona z uwierzytelnianiem podstawowym. |
| $prośba | Pełna oryginalna linia żądania. |
| $treść żądania | Wartość zmiennej jest udostępniana w lokalizacjach przetwarzanych przez dyrektywy proxy_pass i scgi_pass, gdy treść żądania została odczytana do bufora pamięci. |
| $request_body_file | Nazwa pliku tymczasowego zawierającego treść żądania. |
| $zakończenie_żądania | Wartość to „OK”, jeśli żądanie zostało zakończone, lub pusty ciąg znaków w przeciwnym razie. |
| $nazwa_pliku_żądania | Ścieżka pliku bieżącego żądania na podstawie dyrektyw głównych lub aliasów oraz identyfikatora URI żądania. |
| $id_żądania | Unikalny identyfikator żądania wygenerowany z 16 losowych bajtów, w formacie szesnastkowym. |
| $request_length (ngx_http_core_module) | Długość żądania (wiersz żądania, treść żądania i nagłówek). |
| $request_length (ngx_http_log_module) | Długość żądania (wiersz żądania, treść żądania i nagłówek). |
| $metoda_żądania | Metoda żądania. Zwykle „GET” lub „POST”. |
| $request_time (ngx_http_core_module) | Żądaj czasu przetwarzania w sekundach z rozdzielczością milisekundową; czas, jaki upłynął od odczytania pierwszych bajtów od klienta. |
| $request_time (ngx_http_log_module) | Żądaj czasu przetwarzania w sekundach z rozdzielczością milisekundową; czas, jaki upłynął pomiędzy odczytaniem pierwszych bajtów od klienta a zapisem dziennika po wysłaniu ostatnich bajtów do klienta. |
| $żądanie_uri | Pełny oryginalny identyfikator URI żądania (Uniform Resource Identifier) z argumentami. |
| $schemat | Schemat żądania, który może być http lub https |
| $bezpieczny_link | Pokazuje stan sprawdzenia połączenia, a wartość zależy od wybranego trybu pracy. |
| $bezpieczny_link_wygasa | Czas życia łącza przekazanego w żądaniu; |
| $wysłana_nazwa_httpu | Jest to pole nagłówka dowolnej odpowiedzi; ostatnia część nazwy zmiennej to nazwa pola zamieniona na małe litery z myślnikami zastąpionymi podkreśleniami. |
| $wysłana_nazwa_naczepy | Dowolne pole wysyłane na końcu odpowiedzi; ostatnia część nazwy zmiennej to nazwa pola zamieniona na małe litery z myślnikami zastąpionymi podkreśleniami. |
| $adres_serwera (ngx_http_core_module) | Adres serwera, który przyjął żądanie. Obliczenie wartości tej zmiennej wymaga wywołania systemowego. |
| $adres_serwera (ngx_stream_core_module) | Adres serwera, który przyjął żądanie. Obliczenie wartości tej zmiennej wymaga wywołania systemowego. |
| $nazwa_serwera | Nazwa serwera, który przyjął żądanie. |
| $port_serwera (ngx_http_core_module) | Port serwera, który przyjął żądanie. |
| $server_port (ngx_stream_core_module) | Port serwera, który przyjął połączenie. |
| $protokół_serwera | Jest to protokół żądań, zwykle HTTP/1.0, HTTP/1.1 lub HTTP/2.0. |
| $session_log_binary_id | Identyfikator bieżącej sesji w postaci binarnej. |
| $session_log_id | Bieżący identyfikator sesji. |
| $sesja_czas | Czas trwania sesji w sekundach z rozdzielczością milisekundową. |
| $zakres_kawałka | Bieżący zakres wycinków w formacie zakresu bajtów HTTP. Np. bajty=0-1048575 |
| $szpieg | Wersja protokołu SPDY dla połączeń SPDY (wymawiane jako szybkie) lub w przeciwnym razie pusty ciąg znaków. |
| $spdy_request_priority | Żądaj priorytetu dla połączeń SPDY (wymawiane jako szybkie) lub w przeciwnym razie pusty ciąg znaków. |
| $ssl_cipher (ngx_http_ssl_module) | Zwraca ciąg szyfrów użyty do ustanowionego połączenia SSL (Secure Sockets Layer). |
| $ssl_cipher (ngx_stream_ssl_module) | Zwraca ciąg szyfrów użyty do ustanowionego połączenia SSL (Secure Sockets Layer). |
| $ssl_ciphers (ngx_http_ssl_module) | Zwróci listę szyfrów obsługiwanych przez klienta. Tutaj znane szyfry są wymienione według nazw, a nieznane są wyświetlane w formacie szesnastkowym, na przykład AES128-SHA:AES256-SHA:0x00ff |
| $ssl_ciphers (ngx_stream_ssl_module) | Zwróci listę szyfrów obsługiwanych przez klienta. Tutaj znane szyfry są wymienione według nazw, a nieznane są wyświetlane w formacie szesnastkowym, na przykład AES128-SHA:AES256-SHA:0x00ff |
| $ssl_client_cert (ngx_http_ssl_module) | Zwróci certyfikat klienta w PEM (Privacy Enhanced Mail) dla nawiązanego połączenia SSL, z każdą linią z wyjątkiem 1ulpoprzedzony znakiem tabulacji. |
| $ssl_client_cert (ngx_stream_ssl_module) | Zwróci certyfikat klienta w PEM (Privacy Enhanced Mail) dla nawiązanego połączenia SSL, z każdą linią z wyjątkiem 1ulpoprzedzony znakiem tabulacji. |
| $ssl_client_escaped_cert | Zwróci certyfikat klienta w PEM (Privacy Enhanced Mail) dla nawiązanego połączenia SSL |
| $ssl_client_fingerprint (ngx_http_ssl_module) | Zwróci odcisk palca SHA1 (Secure Hash Algorithm) certyfikatu klienta dla nawiązanego połączenia SSL. |
| $ssl_client_fingerprint (ngx_stream_ssl_module) | Zwróci odcisk palca SHA1 (Secure Hash Algorithm) certyfikatu klienta dla nawiązanego połączenia SSL. |
| $ssl_client_i_dn (ngx_http_ssl_module) | Zwraca ciąg znaków „Nazwa wyróżniająca wystawcy” (gdzie nazwa wyróżniająca to nazwa wyróżniająca) certyfikatu klienta dla nawiązanego połączenia SSL zgodnie z RFC 2253. |
| $ssl_client_i_dn (ngx_stream_ssl_module) | Zwraca ciąg znaków „Nazwa wyróżniająca wystawcy” (gdzie nazwa wyróżniająca to nazwa wyróżniająca) certyfikatu klienta dla nawiązanego połączenia SSL zgodnie z RFC 2253. |
| $ssl_client_i_dn_legacy | Zwraca ciąg znaków „Nazwa wyróżniająca wystawcy” (gdzie nazwa wyróżniająca to nazwa wyróżniająca) certyfikatu klienta dla nawiązanego połączenia SSL. |
| $ssl_client_raw_cert (ngx_http_ssl_module) | Zwróci certyfikat klienta w formacie PEM (Privacy Enhanced Mail) dla nawiązanego połączenia SSL. |
| $ssl_client_raw_cert (ngx_stream_ssl_module) | Zwróci certyfikat klienta w formacie PEM (Privacy Enhanced Mail) dla nawiązanego połączenia SSL. |
| $ssl_client_s_dn (ngx_http_ssl_module) | Zwraca ciąg znaków „DN podmiotu” (gdzie DN to nazwa wyróżniająca) certyfikatu klienta dla nawiązanego połączenia SSL zgodnie z RFC2253. |
| $ssl_client_s_dn (ngx_stream_ssl_module) | Zwraca ciąg znaków „DN podmiotu” (gdzie DN to nazwa wyróżniająca) certyfikatu klienta dla nawiązanego połączenia SSL zgodnie z RFC2253. |
| $ssl_client_s_dn_legacy | Zwraca ciąg znaków „DN podmiotu” (gdzie DN to nazwa wyróżniająca) certyfikatu klienta dla nawiązanego połączenia SSL. |
| $ssl_client_serial (ngx_http_ssl_module) | Zwróci numer seryjny certyfikatu klienta dla nawiązanego połączenia SSL. |
| $ssl_client_serial (ngx_stream_ssl_module) | Zwróci numer seryjny certyfikatu klienta dla nawiązanego połączenia SSL. |
| $ssl_client_v_end (ngx_http_ssl_module) | Zwróci datę końcową certyfikatu klienta. |
| $ssl_client_v_end (ngx_stream_ssl_module) | Zwróci datę końcową certyfikatu klienta. |
| $ssl_client_v_remain (ngx_http_ssl_module) | Zwróci liczbę dni do wygaśnięcia certyfikatu klienta. |
| $ssl_client_v_remain (ngx_stream_ssl_module) | Zwróci liczbę dni do wygaśnięcia certyfikatu klienta. |
| $ssl_client_v_start (ngx_http_ssl_module) | Zwróci datę początkową certyfikatu klienta. |
| $ssl_client_v_start (ngx_stream_ssl_module) | Zwróci datę początkową certyfikatu klienta. |
| $ssl_client_verify (ngx_http_ssl_module) | Zwróci wynik weryfikacji certyfikatu klienta: „SUCCESS”, „FAILD:powód” i „NONE”, jeśli certyfikat nie był obecny. |
| $ssl_client_verify (ngx_stream_ssl_module) | Zwróci wynik weryfikacji certyfikatu klienta: „SUCCESS”, „FAILD:powód” i „NONE”, jeśli certyfikat nie był obecny. |
| $ssl_curves (ngx_http_ssl_module) | Zwraca listę krzywych obsługiwanych przez klienta. Wszystkie znane krzywe są wymienione według nazw, a nieznane są wyświetlane w formacie szesnastkowym, na przykład: 0x001d:prime256v1:secp521r1:secp384r1 |
| $ssl_curves (ngx_stream_ssl_module) | Zwraca listę krzywych obsługiwanych przez klienta. Wszystkie znane krzywe są wymienione według nazw, a nieznane są wyświetlane w formacie szesnastkowym, na przykład: 0x001d:prime256v1:secp521r1:secp384r1 |
| $ssl_early_data | Zwróci 1, jeśli zostaną użyte wczesne dane TLS 1.3 i uzgadnianie nie zostanie zakończone, w przeciwnym razie zwróci wartość pustą. |
| Protokoły $ssl_preread_alpn_protocols | Zwraca listę protokołów rozgłaszanych przez klienta poprzez ALPN, a wartości oddzielane są przecinkami. |
| Protokół $ssl_preread_protocol | Najwyższa wersja protokołu SSL (Secure Sockets Layer) obsługiwana przez klienta. |
| $ssl_preread_server_name | Zwraca nazwę serwera żądaną przez SNI (wskaźnik nazwy serwera). |
| $ssl_protocol (ngx_http_ssl_module) | Zwróci protokół nawiązanego połączenia SSL. |
| $ssl_protocol (ngx_stream_ssl_module) | Zwróci protokół nawiązanego połączenia SSL. |
| $ssl_server_name (ngx_http_ssl_module) | Zwraca nazwę serwera żądaną przez SNI (wskaźnik nazwy serwera). |
| $ssl_server_name (ngx_stream_ssl_module) | Zwraca nazwę serwera żądaną przez SNI (wskaźnik nazwy serwera). |
| $ssl_session_id (ngx_http_ssl_module) | Zwróci identyfikator sesji nawiązanego połączenia SSL. |
| $ssl_session_id (ngx_stream_ssl_module) | Zwróci identyfikator sesji nawiązanego połączenia SSL. |
| $ssl_session_reused (ngx_http_ssl_module) | Zwraca „r”, jeśli sesja SSL została ponownie wykorzystana lub „.” W przeciwnym razie. |
| $ssl_session_reused (ngx_stream_ssl_module) | Zwraca „r”, jeśli sesja SSL została ponownie wykorzystana lub „.” W przeciwnym razie. |
| $status (ngx_http_core_module) | Stan odpowiedzi. |
| $status (ngx_http_log_module) | Stan odpowiedzi. |
| $status (ngx_stream_core_module) | Stan sesji, który może być jednym z następujących: 200: Sesja zakończyła się pomyślnie. 400: Nie można przeanalizować danych klienta. 403: zakaz dostępu. 500 wewnętrzny błąd serwera. 502: zła brama. 503 Usługa niedostępna. |
| $tcpinfo_rtt | Wyświetla informacje o połączeniu TCP klienta, dostępne w systemach obsługujących protokół TCP_INFO opcja gniazda. |
| $tcpinfo_rttvar | Wyświetla informacje o połączeniu TCP klienta, dostępne w systemach obsługujących protokół TCP_INFO opcja gniazda. |
| $tcpinfo_snd_cwnd | Wyświetla informacje o połączeniu TCP klienta, dostępne w systemach obsługujących protokół TCP_INFO opcja gniazda. |
| $tcpinfo_rcv_space | Wyświetla informacje o połączeniu TCP klienta, dostępne w systemach obsługujących protokół TCP_INFO opcja gniazda. |
| $time_iso8601 (ngx_http_core_module) | Pokazuje czas lokalny w standardowym formacie ISO 8601. |
| $time_iso8601 (ngx_http_log_module) | Pokazuje czas lokalny w standardowym formacie ISO 8601. |
| $time_iso8601 (ngx_stream_core_module) | Pokazuje czas lokalny w standardowym formacie ISO 8601. |
| $time_local (ngx_http_core_module) | Pokazuje czas lokalny w formacie wspólnego dziennika |
| $time_local (ngx_http_log_module) | Pokazuje czas lokalny w formacie wspólnego dziennika. |
| $time_local (ngx_stream_core_module) | Pokazuje czas lokalny w formacie wspólnego dziennika. |
| $uid_got | Nazwa pliku cookie i otrzymany identyfikator klienta. |
| $uid_reset | Jeśli zmienna jest ustawiona na „niepusty” ciąg znaków, co oznacza, że nie jest to „0”, wówczas identyfikator klienta jest resetowany. Wartość specjalna dziennik dodatkowo prowadzi do wyprowadzenia komunikatów o identyfikatorach resetowania do dziennika błędów. |
| $uid_set | Nazwa pliku cookie i przesłany identyfikator klienta. |
| $upstream_addr (ngx_http_upstream_module) | Zachowa adres IP i port lub ścieżkę do gniazda domeny UNIX serwera nadrzędnego. Jeśli podczas przetwarzania żądania skontaktowano się z kilkoma serwerami, ich adresy oddziela się przecinkami. |
| $upstream_addr (ngx_stream_upstream_module) | Zachowa adres IP i port lub ścieżkę do gniazda domeny UNIX serwera nadrzędnego. Jeśli podczas przetwarzania żądania skontaktowano się z kilkoma serwerami, ich adresy oddziela się przecinkami. |
| $upstream_bytes_received (ngx_http_upstream_module) | Liczba bajtów odebranych z nadrzędnego serwera strumieniowego. Wartości z kilku połączeń oddzielane są przecinkami (,) i dwukropkami (:) podobnie jak adresy w zmiennej $upstream_addr. |
| Odebrane $upstream_bytes_module (ngx_stream_upstream_module) | Liczba bajtów odebranych z nadrzędnego serwera strumieniowego. Wartości z kilku połączeń oddzielane są przecinkami (,) i dwukropkami (:) podobnie jak adresy w pliku $adres_upstream zmienny. |
| $upstream_bytes_sent (ngx_http_upstream_module) | Liczba bajtów wysłanych do nadrzędnego serwera strumieniowego. Wartości z kilku połączeń oddzielane są przecinkami (,) i dwukropkami (:) podobnie jak adresy w pliku $adres_upstream zmienny. |
| $upstream_bytes_sent (ngx_stream_upstream_module) | Liczba bajtów wysłanych do nadrzędnego serwera strumieniowego. Wartości z kilku połączeń oddzielane są przecinkami (,) i dwukropkami (:) podobnie jak adresy w pliku $adres_upstream zmienny. |
| $upstream_cache_status | Zachowa status dostępu do pamięci podręcznej odpowiedzi. Status może mieć wartość „OBEJŚCIE”, „Brak”, „WAŻNOŚĆ”, „STARE”, „PONOWNIE ZALIDOWANY”, „AKTUALIZACJA” lub „TRAFIŁ”. |
| $upstream_connect_time (ngx_http_upstream_module) | Służy do rejestrowania czasu poświęconego na nawiązanie połączenia z serwerem nadrzędnym (1.9.1); czas jest podawany w sekundach z rozdzielczością milisekundową. W przypadku protokołu SSL dodaje czas poświęcony na uzgadnianie. Czasy kilku połączeń oddzielane są przecinkami (,) i dwukropkami (:) podobnie jak adresy w zmiennej $upstream_addr. |
| $upstream_connect_time (ngx_stream_upstream_module) | Utrzymuje czas połączenia z serwerem nadrzędnym; czas jest podawany w sekundach z rozdzielczością milisekundową. Czasy kilku połączeń oddzielane są przecinkami (,), podobnie jak adresy w zmiennej $upstream_addr. |
| $nazwa_pliku cookie_upstream | Plik cookie o określonej nazwie wysyłany przez serwer nadrzędny w polu nagłówka odpowiedzi Set-Cookie. Zapisywane są tylko pliki cookie z odpowiedzi ostatniego serwera. |
| $upstream_first_byte_time | Czas na odebranie pierwszego bajtu danych. Czas jest podawany w sekundach z rozdzielczością milisekundową. Czasy wielu połączeń oddzielane są przecinkami (,), podobnie jak adresy w zmiennej $upstream_addr. |
| $upstream_header_time | Służy do przechowywania czasu spędzonego na odbiorze nagłówka z serwera nadrzędnego. Czasy wielokrotnych połączeń oddzielane są przecinkami (,) i dwukropkami (:) podobnie jak adresy w zmiennej $upstream_addr. |
| $upstream_nazwa_http | Zachowaj pola nagłówka odpowiedzi serwera. |
| $upstream_queue_time | Służy do rejestrowania czasu przebywania żądania w kolejce nadrzędnej; czas jest podawany w sekundach z rozdzielczością milisekundową. Czasy wielokrotnych połączeń oddzielane są przecinkami (,) i dwukropkami (:) podobnie jak adresy w zmiennej $upstream_addr. |
| $upstream_response_length | Służy do przechowywania długości odpowiedzi uzyskanej z serwera nadrzędnego. Długość jest zapisywana w bajtach. Długości wielokrotnych odpowiedzi oddzielane są przecinkami (,) i dwukropkami (:) podobnie jak adresy w zmiennej $upstream_addr. |
| $upstream_response_time | Służy do rejestrowania czasu spędzonego na otrzymaniu odpowiedzi z serwera nadrzędnego; czas jest podawany w sekundach z rozdzielczością milisekundową. Czasy kilku połączeń oddzielane są przecinkami (,) i dwukropkami (:) podobnie jak adresy w zmiennej $upstream_addr. |
| $upstream_session_time | Czas trwania sesji w sekundach z rozdzielczością milisekundową. Czasy kilku połączeń oddzielane są przecinkami (,), podobnie jak adresy w zmiennej $upstream_addr. |
| $upstream_status | Służy do przechowywania kodu stanu odpowiedzi uzyskanej z serwera nadrzędnego. Kody stanu kilku odpowiedzi są oddzielone przecinkami (,) i dwukropkami (:) podobnie jak adresy w zmiennej $upstream_addr. Jeśli nie można wybrać serwera, zmienna zachowuje kod stanu 502 (Bad Gateway). |
| $nazwa_naczepy_upstream | Służy do przechowywania pola z końca odpowiedzi otrzymanej z serwera nadrzędnego. |
| typ | Bieżący identyfikator URI w żądaniu, znormalizowany. Możemy zmienić wartość $uri podczas przetwarzania żądania, np. podczas wykonywania wewnętrznych przekierowań lub podczas korzystania z plików indeksu. |