天天看點

Nginx之内嵌變量詳解

$arg_name

請求行中的name參數

$args

請求行中的參數

$binary_remote_addr

用戶端位址為二進制形式,IPv4位址值的長度是4位元組,IPv6位址值的長度是16位元組

$body_bytes_sent

傳回給用戶端的位元組數,不包括響應頭。此變量與Apache子產品mod_log_config的“%B”參數相容

$bytes_sent

傳回給用戶端的位元組數 (1.3.8, 1.2.5)

$connection

連接配接的序列号 (1.3.8, 1.2.5)

$connection_requests

目前通過連接配接發出的請求數 (1.3.8, 1.2.5)

$content_length

請求頭“Content-Length”的值

$content_type

請求頭“Content-Type”的值

$cookie_name

cookie名稱

$document_root

目前請求的root根目錄或alias别名的值

$document_uri

和$uri相同

$host

“host”請求頭字段的值,如果沒有該主機頭,則為處理請求的server名稱

$hostname

機器名稱

$http_name

任意請求頭的值,變量名的後半部分“name”可以替換成任意請求頭的名稱。例如在配置檔案中需要擷取user-agent值,将“-”換成下劃線“_”,如果有大寫字母,需要替換成小寫字母,即$http_user_agent:

$https

如果連接配接是ssl模式,傳回值為“on”,否則傳回空字元串

$is_args

如果請求行帶有參數,傳回值為“?”,否則傳回空字元串

$limit_rate

用于限制連接配接的傳輸速率

$msec

目前時間機關是秒,精度是毫秒 (1.3.9, 1.2.6)

$nginx_version

nginx版本号

$pid

worker程序的PID

$pipe

如果請求來自管道,值為"p",否則為“.” (1.3.12, 1.2.7)

$proxy_protocol_addr

擷取代理通路伺服器的用戶端位址,如果直接通路,該值為空字元串 (1.5.12)

設定代理前,必須通過listen指令設定proxy_protocol參數來啟用

$proxy_protocol_port

擷取代理通路伺服器的端口位址,如果直接通路,該值為空字元串 (1.11.0)

$query_string

與$args相同

$realpath_root

目前請求的root根目錄或alias别名的絕對路徑,會将所有軟連接配接解析成真實檔案路徑

$remote_addr

用戶端IP位址

$remote_port

用戶端端口

$remote_user

基礎使用者認證提供的使用者名,經過Auth Basic Module驗證的使用者名

$request

用戶端的請求位址

$request_body

用戶端請求主體此變量可在location中使用,将請求主體通過proxy_pass, fastcgi_pass, uwsgi_pass, 和scgi_pass傳遞給下一級的代理伺服器

$request_body_file

用戶端請求主體臨時檔案名

檔案處理結束後,此檔案将被删除,如果希望總是将請求主體寫入檔案,需要設定client_body_in_file_only,如果将此檔案傳遞給後端代理伺服器,需要禁用request body,即設定proxy_pass_request_body off,fastcgi_pass_request_body off,uwsgi_pass_request_body off,或scgi_pass_request_body off

$request_completion

如果請求成功,傳回"OK",否則傳回空字元串

$request_filename

基于root或alias,以及請求的URI,得到目前請求的檔案路徑

$request_id

由16個随機位元組生成唯一的請求辨別符,以十六進制表示 (1.11.0)

$request_length

請求長度(包括請求位址、http請求頭和請求主體) (1.3.12, 1.2.7)

$request_method

用戶端請求方法,通常是“GET”或“POST”

$request_time

用戶端請求處理的時間,機關為秒,精度毫秒 (1.3.9, 1.2.6); 從用戶端接收到第一個位元組開始計算

$request_uri

用戶端請求參數的原始URI(帶參數)

$scheme

請求協定類型,“http”或“https”

$sent_http_name

任意響應頭字段的值,變量名的後半部分“name”可以替換成任意響應頭的名稱。例如在配置檔案中需要擷取Cache-Control值,将“-”換成下劃線“_”,如果有大寫字母,需要替換成小寫字母,即$sent_http_Cache_Control

$sent_trailer_name

響應結束時發送的任意字段(1.13.2),變量名的後半部分“name”可以替換成任意響應頭的名稱

$server_addr

接受請求的伺服器位址

計算此變量的值通常需要一次系統調用,為了避免系統調用,必須指定listen的位址,并且使用bind參數

$server_name

接受請求的伺服器名稱

$server_port

接受請求的伺服器端口

$server_protocol

請求協定,通常是“HTTP/1.0”, “HTTP/1.1”, or “HTTP/2.0”

$status

響應狀态碼 (1.3.2, 1.2.2)

$tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, $tcpinfo_rcv_space

用戶端TCP連接配接資訊,在支援的TCP_INFO套接字選項的系統上可用

$time_iso8601

伺服器時間ISO 8610格式(1.3.12, 1.2.7)

$time_local

通用日志格式的本地時間 (1.3.12, 1.2.7)

$uri

目前請求規範化後的URI,等同于$document_uri$uri的值可能随請求的處理過程而變化,例如在内部進行跳轉時,或使用預設頁時

繼續閱讀