nginx一些內建的變數

2021-09-02 13:38:55 字數 2026 閱讀 2707

nginx一些內建的變數

core module 支援一些內建的變數,與apache使用的變數相一致。

首先,一些變數代表了客戶端請求頭部的一些字段,如:$http_user_agent, $http_cookie等等。注

意,由於這些變數會在請求中定義,所以可能無法保證他們是存在的或者說可以定義到一些別的

地方(例如遵循一定的規範)。

除此之外,下列是一些其他變數:

$arg_parameter

這個變數包含在查詢字串時get請求parameter的值。

$args

這個變數等於請求行中的引數。

$binary_remote_addr

二進位製碼形式的客戶端位址。

$body_bytes_sent

傳送頁面的位元組數

$content_length

請求頭中的content-length欄位。

$content_type

請求頭中的content-type欄位。

$cookie_cookie

cookie cookie的值。

$document_root

當前請求在root指令中指定的值。

$document_uri

與$uri相同。

$host

請求中的主機頭欄位,如果請求中的主機頭不可用,則為伺服器處理請求的伺服器名稱。

$is_args

如果$args設定,值為"?",否則為""。

$limit_rate

這個變數可以限制連線速率。

$nginx_version

當前執行的nginx版本號。

$query_string

與$args相同。

$remote_addr

客戶端的ip位址。

$remote_port

客戶端的埠。

$remote_user

已經經過auth basic module驗證的使用者名稱。

$request_filename

當前連線請求的檔案路徑,由root或alias指令與uri請求生成。

$request_body

這個變數(0.7.58+)包含請求的主要資訊。在使用proxy_pass或fastcgi_pass指令的location中比較有

意義。$request_body_file

客戶端請求主體資訊的臨時檔名。

$request_completion

未知。$request_method

這個變數是客戶端請求的動作,通常為get或post。

包括0.8.20及之前的版本中,這個變數總為main request中的動作,如果當前請求是乙個子請求,並

不使用這個當前請求的動作。

$request_uri

這個變數等於包含一些客戶端請求引數的原始uri,它無法修改,請檢視$uri更改或重寫uri。

$scheme

http方法(如http,https)。按需使用,例:

rewrite ^(.+)$ $scheme: redirect;

$server_addr

伺服器位址,在完成一次系統呼叫後可以確定這個值,如果要繞開系統呼叫,則必須在listen中指

定位址並且使用bind引數。

$server_name

伺服器名稱。

$server_port

請求到達伺服器的埠號。

$server_protocol

請求使用的協議,通常是http/1.0或http/1.1。

$uri

請求中的當前uri(不帶請求引數,引數位於$args),可以不同於瀏覽器傳遞的$request_uri的值,它

可以通過內部重定向,或者使用index指令進行修改。

另外:http_x_forwarded_for是透過**伺服器取得客戶端的真實ip位址,有些用此方法讀取到的仍然是**伺服器的ip。還有一點需要注意的是:如果客戶端沒有通過**伺服器來訪問,那麼用 http_x_forwarded_for 取到的值將是空的。

nginx一些內建的變數

http核心模組支援一些內建變數,變數名與apache裡的對應。比如 http user agent,http cookie等表示http請求資訊的變數。更多變數 args,請求中的引數 content length,http請求資訊裡的 content length content type,請求...

nginx的內建變數

arg parameter http請求中某個引數的值。例 index.html?size 100,可以用 arg size獲取100 binary remote addr 二進位制格式的客戶端位址。body bytes sent 表示在向客戶端傳送的http響應中,包體部分的位元組數 conten...

nginx內建變數

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