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. |