nginx內建變數
內建變數存放在 ngx_http_core_module 模組中,變數的命名方式和apache 伺服器變數是一致的。總而言之,這些變數代表著客戶端請求頭的內容,例如$http_user_agent, $http_cookie, 等等。以下是nginx支援的所有內建變數:
$arg_name
#請求中的參數名,即「?」後面的arg_name=arg_value形式的arg_name
請求中的參數值
客戶端位址的二進位形式, 固定長度為4個位元組
傳送給客戶端的位元組數,回應頭不計算在內;這個變數和apache的mod_log_config模組中的「%b」參數保持相容
傳送給客戶端的位元組數(1.3.8, 1.2.5)
tcp連接的序號(1.3.8, 1.2.5)
tcp連線目前的請求數量(1.3.8, 1.2.5)
“content-length” 請求頭欄位
“content-type” 請求頭欄位
##$cookie_name
$document_root
#$document_uri
$host
$hostname
$http_name
$https
$is_args
$limit_rate
$msec
$nginx_version
#$pid
$pipe
$proxy_protocol_addr
$query_string
#$realpath_root
$remote_addr
$remote_port
$remote_user
$request
$request_body
此變數可在location中使用,將請求主體透過proxy_pass, fastcgi_pass, uwsgi_pass,和scgi_pass傳遞給下一層的代理伺服器。
$request_body_file
$request_completion
$request_filename
$request_length
$request_method
$request_time
$request_uri
$scheme
$sent_http_name
$server_addr
$server_name
$server_port
$server_protocol
$status
$tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, $ tcpinfo_rcv_space
$time_iso8601
伺服器時間的iso 8610格式(1.3.12, 1.2.7)
$time_local
伺服器時間(log format 格式) (1.3.12, 1.2.7)
$uri
請求中的目前uri(不含請求參數,參數位於$args),可以不同於瀏覽器傳遞的$request_uri的值,它可以透過內部重定向,或使用index指令進行修改,$uri不包含主機名,如”/foo/bar.html”。
nginx內建全域變數及意義
#姓名 版本 說明(變數清單來自檔案 ngx_http_variables)
$args 1.0.8 遠端位址的二進位表示法
$body_bytes_sent 1.0.8 寄送的訊息體位元組數
$content_length 1.0.8 http要求訊息中的"content-length";
1.0. 8 針對目前請求的根路徑設定值;
$document_uri 1.0.8 與$uri 請求訊息中的"host",如果請求中沒有host行,則等於設定的伺服器名稱;
$hostname 1.0.8
$http_cookie
$http_referer 1.0.8 引用網址
$http_user_agent 1.0.8 客戶代理資訊
$http_via 1.0.8 1.0.8
$http_x_forwarded_for 1.0.8 相當於網路存取路徑。
$is_args 1.0.8
$limit_rate 1.0.8
$pid 1.0.8
$query_string 1.0.8 ;
$realpath_root 1.0.8
$remote_addr 1.0.8 1 用戶端連接埠號碼;
$remote_user 1.0.8 使用者使用者名稱,以認證使用;
$request 1.0.8 使用者請求
$request_body 1.0.8 寄往後端的本機檔案名稱
$request_completion 1.0.8
$request_filename 1.
$request_filename 請求的檔案路徑名,如$request_filename:d:\nginx/html/test1/test2/test.php
$request_method 1.0.8 請求的方法,例如"get"、"#」等; request_uri 1.0.8 1.0.8 )$$scheme://example.com$1redirect;
$sent_http_cache_control 1.0.8
$sent_http_connection . 1.0.8
$sent_http_content_type 1.0.8
##$sent_http_keep_alive 1.0.8
$sent_http_last_modified
$sent_http_transfer_encoding 1.0.8
$server_addr 1.變數會啟動一次系統呼叫以獲得位址(造成資源浪費);
$server_name 1.0.8 請求到達的伺服器名稱;
$server_port _$1 1.0 .8 請求的協議版本,"http/1.0"或"http/1.1";
$uri 1.0.8 請求的uri,可能與最初重定向的值有不同的,例如經過重新設計的
以上是nginx的內建變數有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!