1. 程式人生 > >Nginx學習筆記08使用變量

Nginx學習筆記08使用變量

spa 協議 body con 內容 方法 c module post quest

反向代理模塊常用的幾種變量如下表所示:

(1)HTTP請求相關的變量

變量名稱

描述

$host

HTTP請求中的Host字段,不包含端口號。

$http_host

HTTP請求中的Host字段的原始值。主機和端口。

$args

HTTP請求中的參數,即問號後的部分:XXX=1&YYY=2

$args_XXX

HTTP請求中的XXX參數的值。

$query_string

HTTP請求中的參數。只讀。

$uri

HTTP請求中的URI,不帶參數。

$document_uri

$uri

$request_uri

HTTP請求中的URI的原始值。包含參數。

$http_XXX

HTTP請求中的XXX頭部的值:$http_host

$content_type

HTTP請求中的Content-Type的值。

$content_length

HTTP請求中的Content-Length的值。

$cookie_XXX

HTTP請求中的XXX Cookie的值。

$request_body

HTTP請求的包體。

$scheme

HTTP請求的模式。httphttps等。

$request_method

HTTP請求的方法。GETPOST等。

(2)HTTP應答相關的變量

變量名稱

描述

$sent_http_XXX

HTTP應答中的HTTP頭部XXX的值。$sent_http_content_type

$body_bytes_sent

HTTP應答中的包體的字節數。

(3)客戶端相關的變量

變量名稱

描述

$remote_addr

客戶端IP

$remote_port

客戶端端口

$remote_user

客戶端用戶名。Auth Basic Module

$proxy_add_x_forwarded_for

HTTP請求中X-Forwarded-For的值。備註(a)

$http_x_forwarded_for

HTTP請求中X-Forwarded-For的值。

備註:

(a)X-Forwarded-For

X-Forwarded-For是一個HTTP頭部信息,是一個包含客戶端真實IP地址和所經過的代理地址的列表,用逗號分隔各個地址。這個信息可以用於獲取真實客戶端IP地址。

在客戶端請求不包含X-Forwarded-For頭信息時,$proxy_add_x_forwaded_for相當於$remote_addr

NGINX支持修改X-Forwarded-For的值:

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

上述配置將會使得X-Forwarded-For的值後面增加一項內容,即NGINX所在主機的地址。

(4)NGINX相關的變量

變量名稱

描述

$is_args

請求是否帶參數。是:值為問號(?),否則為空字符串。

$limit_rate

限速。0:無限速。

$nginx_version

NGINX版本號。

$hostname

NGINX所在主機名稱

$request_filename

HTTP請求經過rootalias轉換後的路徑。

$request_body_file

HTTP請求的包體的臨時存儲文件。

$request_completion

HTTP請求是否全部完成。是:值為ok,否則為空字符串。

(5)後端主機相關的變量

變量名稱

描述

$server_addr

主機地址

$server_name

主機名稱。

$server_port

主機端口。

$server_protocol

主機向響應的HTTP協議。HTTP/1.0HTTP/1.1

$proxy_host

被代理的主機的名稱和端口。

$proxy_port

被代理的主機的端口。

Nginx學習筆記08使用變量