logo

NGINX 변수

변수는 프로그래밍 언어의 자연스러운 부분입니다. 이는 Perl, C/C++, Bourne Shell, Perl과 같은 명령형 언어의 다양한 값을 보유하는 컨테이너일 뿐입니다. 그리고 값은 'hello world'와 같은 문자열, '3.14'와 같은 숫자, 심지어 해당 언어의 배열이나 해시 테이블에 대한 참조와 같은 복잡한 것일 수도 있습니다.

그러나 Nginx 구성 언어의 경우 변수는 한 가지 유형의 값, 즉 문자열만 보유할 수 있습니다. 그러나 흥미로운 예외가 있습니다: 3rd파티 모듈 ngx_array_var는 Nginx 변수를 확장하여 배열을 포함하지만 장면 뒤에서 C 포인터를 이진 문자열 값으로 인코딩하여 구현됩니다.

네트워크 유형

변수 구문

다음 행이 있는 nginx.conf 구성 파일을 고려하십시오.

 set $a 'hello world'; 

여기서는 표준 nginx_rewrite 모듈에서 제공되는 set 구성 지시문을 통해 '$a' 변수에 값을 할당합니다. 그리고 여기서는 문자열 값 'hello world'를 '$a'에 할당합니다.

위의 예에서 Nginx 변수 이름 앞에 달러 기호($)가 붙는 것을 볼 수 있습니다. 따라서 구성 파일의 nginx 변수에 대한 참조를 추가할 때마다 달러($) 접두사를 추가해야 한다고 말할 수 있습니다.

또 다른 간단한 예를 살펴보겠습니다.

 set $a hello; set $b '$a, $a'; 

위의 예에서 $a 변수가 $b 변수의 값을 구성하는 데 사용되는 것을 볼 수 있습니다. 따라서 이 두 지시문의 실행이 완료된 후 $a의 값은 'hello'이고 $b는 'hello, hello'입니다. 이 기술을 '가변 보간'이라고 합니다.

Nginx의 변수 목록을 살펴보겠습니다.

SQL의 substring_index
변하기 쉬운 설명
$ancient_browser 이 변수는 브라우저가 고대로 식별된 경우 Ancient_browser_value 지시어에 의해 설정된 값과 동일하게 사용됩니다.
$arg_name 요청 라인의 인수 이름입니다.
$args 요청 라인의 인수 목록입니다.
$binary_remote_addr (ngx_http_core_module) 바이너리 형태의 클라이언트 주소입니다. 값의 길이는 항상 IP4 주소의 경우 4바이트, IPv6 주소의 경우 16바이트입니다.
$binary_remote_addr (ngx_stream_core_module) 바이너리 형태의 클라이언트 주소입니다. 값의 길이는 항상 IP4 주소의 경우 4바이트, IPv6 주소의 경우 16바이트입니다.
$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(그리니치 표준시)의 현재 시간입니다. 형식을 설정하려면 구성 명령하다 시간 매개변수.
$date_local 현지 시간대의 현재 시간입니다. 형식을 설정하려면 구성 명령하다 시간 매개변수.
$document_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가 슬래시로 끝나는 경우 fastcgi_index 지시어에 의해 구성된 인덱스 파일 이름이 추가된 요청 URI입니다.
$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_국가_이름(ngx_http_geoip_module) 국가의 이름입니다. 예를 들어 '인도', '미국'입니다.
$geoip_country_name (ngx_stream_geoip_module) 국가의 이름입니다. 예를 들어 '인도', '미국'입니다.
$geoip_dma_code (ngx_http_geoip_module) Google AdWords API의 지역 타겟팅에 따른 미국의 DMA(지정 시장 지역) 코드 또는 대도시 코드입니다.
$geoip_dma_code (ngx_stream_geoip_module) Google AdWords API의 지역 타겟팅에 따른 미국의 DMA(지정 시장 지역) 코드 또는 대도시 코드입니다.
$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) 예를 들어 Moscow City, DC의 경우 지역 이름(지방, 지역, 주, 연방 토지, 준주)입니다.
$geoip_region(ngx_stream_geoip_module) 예를 들어 Moscow City, DC의 경우 지역 이름(지방, 지역, 주, 연방 토지, 준주)입니다.
$geoip_region_name (ngx_http_geoip_module) 국가 지역 이름((지방, 지역, 주, 연방 토지, 영토)(예: '모스크바시', '컬럼비아 특별구')
$geoip_region_name (ngx_stream_geoip_module) 국가 지역 이름((지방, 지역, 주, 연방 토지, 영토)(예: '모스크바시', '컬럼비아 특별구')
$gzip_ratio 이는 원래 응답 크기와 압축된 응답 크기 간의 비율로 계산된 달성된 압축 비율입니다.
$호스트 요청 라인의 호스트 이름, 호스트 요청 헤더 필드의 호스트 이름 또는 요청과 일치하는 서버 이름입니다.
$호스트 이름(ngx_http_core_module) 호스트 이름.
$호스트 이름(ngx_stream_core_module) 호스트 이름.
$http2 협상된 프로토콜 식별자: TLS를 통한 HTTP/2의 경우 h2, 일반 텍스트 TCP를 통한 HTTP/2의 경우 h2c, 그렇지 않은 경우 빈 문자열입니다.
$http_name 임의의 요청 헤더 필드입니다. 변수 이름의 마지막 부분은 대시가 밑줄로 대체되어 소문자로 변환되는 필드 이름입니다.
$https 연결이 SSL 모드에서 작동하는 경우 'on'이고, 그렇지 않으면 빈 문자열입니다.
$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(밀리초) 단위의 현재 시간(초)입니다.
브라우저가 모든 버전의 MSIE(Microsoft Internet Explorer)로 식별된 경우 1과 같습니다.
$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)입니다.
$파이프(ngx_http_core_module) 요청이 파이프라인된 경우 'p', '.' 그렇지 않으면.
$파이프(ngx_http_log_module) 요청이 파이프라인된 경우 'p', '.' 그렇지 않으면.
$프로토콜 클라이언트와 통신하는 데 사용되는 프로토콜: UDP 또는 TCP.
$proxy_add_x_forwarded_for $remote_addr 변수가 추가된 'X-Forwarded-For' 클라이언트 요청 헤더 필드(쉼표로 구분). 클라이언트 요청 헤더에 '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 프로토콜을 활성화해야 합니다. 이는 Listen 지시문에서 프록시 프로토콜 매개변수를 설정하여 수행할 수 있습니다.
$proxy_protocol_addr(ngx_stream_core_module) PROXY 프로토콜 헤더의 클라이언트 주소이거나, 그렇지 않은 경우 빈 문자열입니다. 먼저 PROXY 프로토콜을 활성화해야 합니다. 이는 Listen 지시문에서 프록시 프로토콜 매개변수를 설정하여 수행할 수 있습니다.
$proxy_protocol_port(ngx_http_core_module) PROXY 프로토콜 헤더의 클라이언트 주소이거나, 그렇지 않은 경우 빈 문자열입니다. 먼저 PROXY 프로토콜을 활성화해야 합니다. 이는 Listen 지시문에서 프록시 프로토콜 매개변수를 설정하여 수행할 수 있습니다.
$proxy_protocol_port(ngx_stream_core_module) PROXY 프로토콜 헤더의 클라이언트 주소이거나, 그렇지 않은 경우 빈 문자열입니다. 먼저 PROXY 프로토콜을 활성화해야 합니다. 이는 Listen 지시문에서 프록시 프로토콜 매개변수를 설정하여 수행할 수 있습니다.
$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 변수 값은 요청 본문을 memory_buffer로 읽을 때 Proxy_pass 및 scgi_pass 지시문에 의해 처리되는 위치에서 사용할 수 있습니다.
$request_body_file 요청 본문이 포함된 임시 파일의 이름입니다.
$request_completion 요청이 완료되면 값은 'OK'이고, 그렇지 않으면 빈 문자열입니다.
$request_filename 루트 또는 별칭 지시문과 요청 URI를 기반으로 하는 현재 요청의 파일 경로입니다.
$request_id 16진수로 된 임의의 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_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(Secure Sockets Layer) 연결에 사용되는 암호 문자열을 반환합니다.
$ssl_cipher(ngx_stream_ssl_module) 설정된 SSL(Secure Sockets Layer) 연결에 사용되는 암호 문자열을 반환합니다.
$ssl_ciphers(ngx_http_ssl_module) 클라이언트가 지원하는 암호 목록이 반환됩니다. 여기서 알려진 암호는 이름별로 나열되고 알 수 없는 암호는 16진수로 표시됩니다(예: AES128-SHA:AES256-SHA:0x00ff).
$ssl_ciphers(ngx_stream_ssl_module) 클라이언트가 지원하는 암호 목록이 반환됩니다. 여기서 알려진 암호는 이름별로 나열되고 알 수 없는 암호는 16진수로 표시됩니다(예: AES128-SHA:AES256-SHA:0x00ff).
$ssl_client_cert (ngx_http_ssl_module) 설정된 SSL 연결에 대해 PEM(Privacy Enhanced Mail)에 클라이언트 인증서를 반환하며, 1을 제외한 각 줄은 다음과 같습니다.탭 문자가 앞에 붙습니다.
$ssl_client_cert(ngx_stream_ssl_module) 설정된 SSL 연결에 대해 PEM(Privacy Enhanced Mail)에 클라이언트 인증서를 반환하며, 1을 제외한 각 줄은 다음과 같습니다.탭 문자가 앞에 붙습니다.
$ssl_client_escaped_cert 설정된 SSL 연결에 대해 PEM(Privacy Enhanced Mail)에 클라이언트 인증서를 반환합니다.
$ssl_client_fingerprint(ngx_http_ssl_module) 설정된 SSL 연결에 대한 클라이언트 인증서의 SHA1(Secure Hash Algorithm) 지문을 반환합니다.
$ssl_client_fingerprint(ngx_stream_ssl_module) 설정된 SSL 연결에 대한 클라이언트 인증서의 SHA1(Secure Hash Algorithm) 지문을 반환합니다.
$ssl_client_i_dn (ngx_http_ssl_module) RFC 2253에 따라 설정된 SSL 연결에 대한 클라이언트 인증서의 '발행자 DN'(여기서 DN은 고유 이름) 문자열을 반환합니다.
$ssl_client_i_dn (ngx_stream_ssl_module) RFC 2253에 따라 설정된 SSL 연결에 대한 클라이언트 인증서의 '발행자 DN'(여기서 DN은 고유 이름) 문자열을 반환합니다.
$ssl_client_i_dn_legacy 설정된 SSL 연결에 대한 클라이언트 인증서의 '발급자 DN'(여기서 DN은 고유 이름임) 문자열을 반환합니다.
$ssl_client_raw_cert(ngx_http_ssl_module) 설정된 SSL 연결에 대해 PEM(Privacy Enhanced Mail) 형식으로 클라이언트 인증서를 반환합니다.
$ssl_client_raw_cert(ngx_stream_ssl_module) 설정된 SSL 연결에 대해 PEM(Privacy Enhanced Mail) 형식으로 클라이언트 인증서를 반환합니다.
$ssl_client_s_dn(ngx_http_ssl_module) RFC2253에 따라 설정된 SSL 연결에 대한 클라이언트 인증서의 '주체 DN'(여기서 DN은 고유 이름) 문자열을 반환합니다.
$ssl_client_s_dn(ngx_stream_ssl_module) RFC2253에 따라 설정된 SSL 연결에 대한 클라이언트 인증서의 '주체 DN'(여기서 DN은 고유 이름) 문자열을 반환합니다.
$ssl_client_s_dn_legacy 설정된 SSL 연결에 대한 클라이언트 인증서의 '주체 DN'(여기서 DN은 고유 이름임) 문자열을 반환합니다.
$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) 클라이언트가 지원하는 곡선 목록을 반환합니다. 알려진 모든 곡선은 이름별로 나열되고 알 수 없는 곡선은 16진수로 표시됩니다(예: 0x001d:prime256v1:secp521r1:secp384r1).
$ssl_curves(ngx_stream_ssl_module) 클라이언트가 지원하는 곡선 목록을 반환합니다. 알려진 모든 곡선은 이름별로 나열되고 알 수 없는 곡선은 16진수로 표시됩니다(예: 0x001d:prime256v1:secp521r1:secp384r1).
$ssl_early_data TLS 1.3 초기 데이터가 사용되고 핸드셰이크가 완료되지 않은 경우 1을 반환하고 그렇지 않으면 빈 값을 반환합니다.
$ssl_preread_alpn_protocols ALPN을 통해 클라이언트가 광고하는 프로토콜 목록을 반환하며 값은 쉼표로 구분됩니다.
$ssl_preread_protocol 클라이언트가 지원하는 가장 높은 SSL(Secure Sockets Layer) 프로토콜 버전입니다.
$ssl_preread_server_name SNI(Sever Name Indication)를 통해 요청한 서버의 이름을 반환합니다.
$ssl_protocol(ngx_http_ssl_module) 설정된 SSL 연결의 프로토콜을 반환합니다.
$ssl_protocol(ngx_stream_ssl_module) 설정된 SSL 연결의 프로토콜을 반환합니다.
$ssl_server_name(ngx_http_ssl_module) SNI(Server Name Indication)를 통해 요청한 서버의 이름을 반환합니다.
$ssl_server_name(ngx_stream_ssl_module) SNI(Server Name Indication)를 통해 요청한 서버의 이름을 반환합니다.
$ssl_session_id(ngx_http_ssl_module) 설정된 SSL 연결의 세션 식별자를 반환합니다.
$ssl_session_id(ngx_stream_ssl_module) 설정된 SSL 연결의 세션 식별자를 반환합니다.
$ssl_session_reused(ngx_http_ssl_module) SSL 세션이 재사용된 경우 'r'을 반환하고, '.'을 반환합니다. 그렇지 않으면.
$ssl_session_reused(ngx_stream_ssl_module) SSL 세션이 재사용된 경우 'r'을 반환하고, '.'을 반환합니다. 그렇지 않으면.
$상태(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 응답 캐시에 액세스하는 상태를 유지합니다. 상태는 'BYPASS', 'MISS', 'EXPIRED', 'STALE', 'REVALIDATED', 'UPDATING' 또는 'HIT'일 수 있습니다.
$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_name 서버 응답 헤더 필드를 유지하십시오.
$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 값을 변경할 수 있습니다. 내부 리디렉션을 수행할 때 또는 인덱스 파일을 사용할 때.