nginx的內建變數

2021-08-15 07:29:15 字數 1597 閱讀 3227

$arg_[parameter] http請求中某個引數的值。例:/index.html?size=100,可以用$arg_size獲取100

$binary_remote_addr 二進位制格式的客戶端位址。

$body_bytes_sent 表示在向客戶端傳送的http響應中,包體部分的位元組數

$content_length 表示在向客戶端請求頭部中的content-length欄位

$content

type 表示在向客戶端請求頭部中的content-type欄位

$cookie

[cookie] 表示在客戶端請求頭部中的cookie欄位

$document_root 表示當前請求所使用的root配置項的值

$uri 表示當前請求uri,不帶任何引數

$document_uri 同上

$request_uri 表示客戶端發來的原始請求uri,帶完整的引數。$uri和$document_uri未必是使用者的原始請求,在內部重定向後可能是重定向後的uri,而$request

uri永遠不會改變,始終是客戶端原始uri

$host 表示客戶端請求頭部中的host欄位。如果host欄位不存在,則以實際處理的server(虛擬主機)名稱代替。

$hostname 表示nginx所在機器的名稱。

[header] 表示當前http請求中相應頭部的值。

[header] 表示返回客戶端的http響應中相應頭部的值。

$is_args 表示請求中的uri是否帶引數,如果帶引數,$is_arge值為?,否則為空字串

$limit_rate 表示當前連線的限速是多少,0表示無限速

$nginx_version nginx的版本號

$query_string 請求uri中的引數,與$args相同,$query_string是唯讀的不會改變

$remote_addr 表示客戶端位址

$remote_port 表示客戶端埠

$remote_user 表示使用auth basic module時定義的使用者名稱

$request_filename 表示使用者請求中uri經過root或alias轉換後的檔案路徑

$request_body 表示http請求中的包體,該引數只在proxy_pass或fastcgi_pass中有意義

$request_body_file 表示http請求中的包體儲存的臨時檔名

$request_completion 當請求已經全部完成時,其值為"ok";若沒有完成,就要返回客戶端,則其值為空字串;或者在斷點續傳等情況下使用http range訪問的並不是檔案的最後一塊,那麼其值也是空字串

$request_method 表示http請求的方法名,如get、put、post等

$scheme 表示http scheme,如在請求nginx.com/中表示https

$server_addr 表示伺服器位址

$server_name 表示伺服器名稱

$server_port 表示伺服器端口

$server_protocol 表示伺服器向客戶端傳送響應的協議,如http/1.1或http/1.0

nginx內建變數

nginx作為乙個成熟 久經考驗的負載均衡軟體,與其提供豐富 完整的內建變數是分不開的,它極大增加了對nginx網路行為的控制細度。這些變數大部分都是在請求進入時解析的,並把他們快取到請求cycle中,方便下一次獲取使用。首先來看看nginx對都開放了那些api。參看下表 名稱說明 arg name...

nginx 內建變數

在配置基於nginx伺服器的 時,必然會用到 nginx內建變數 下面筆者將它整理成列表,把最新版本的變數列出來,以方便做配置時查詢 nginx內建變數 內建變數存放在 ngx http core module 模組中,變數的命名方式和apache 伺服器變數是一致的。總而言之,這些變數代表著客戶端...

nginx內建變數

變數名 定義 arg parameter get請求中變數名parameter引數的值。args 這個變數等於get請求中的引數。例如,foo 123 bar blahblah 這個變數只可以被修改 binary remote addr 二進位製碼形式的客戶端位址。body bytes sent 傳...