1. 程式人生 > >nginx教程第七篇:ngx_http_core_module模組提供的變數

nginx教程第七篇:ngx_http_core_module模組提供的變數

在記錄access_log訪問日誌檔案時, 可以使用ngx_http_core_module模組處理請求時所產 生的豐富的變數, 當然, 這些變數還可以用於其他HTTP模組。

例如:
	當URI中的某個引數滿足設定的條件時, 有些HTTP模組的配置項可以使用類似 $arg_PARAMETER 這樣的變數。
又如:
	若想把每個請求中的限速資訊記錄到access日誌檔案中, 則可以使用 $limit_rate 變數。

下表列出了ngx_http_core_module模組提供的這些變數:

變數 變數描述
$arg_patameter HTTP請求中某個引數的值,如/index.php?
site=www.ttlsa.com
,可以用$arg_site取得www.ttlsa.com這個值
$args HTTP 請求中的完整引數
$binary_remote_addr 二進位制客戶端地址
$body_bytes_sent 表示在想客戶端傳送的http響應中,包體部分的位元組數
$content_length 表示客戶端請求頭部中Conten-Length欄位
$conten_type 表示客戶端請求頭部中Conten-Type欄位
$cookie_COOKIE 表示客戶端請求頭部中cookie欄位
$document_root 表示當前請求所使用的root配置項的值
$uri 表示當前請求的URI,不帶任何引數
$document_uri 與$uri相同
$request_uri 表示客戶端發來的原始請求URI,帶完整的引數
$host 表示客戶端請求頭部中的Host欄位,如果Host欄位不存在,則以實際處理的server名稱代替,如果Host欄位中帶有埠,如IP:PORT,那麼$host是去掉埠的,它的值是IP,$host是全小寫
$hostname 表示Nginx所在機器的名稱
$http_HREADER 表示當前HTTP請求中相應頭部的值
$sent_http_HERDER 表示返回客戶端的HTTP響應中相應頭部的值
$is_args 表示請求中的URI是否攜帶引數,如果攜帶值為?,如果沒有為空字串
$limit_rate 表示當前連線的限速是多少,0表示無限速
$nginx_version 表示當前Nginx的版本號
$query_string 請求URI中的引數,與$args相同
$remote_addr 表示客戶端的地址
$remote_port 表示客戶端連線使用的埠
$remote_user 表示使用Auth Basic Module時定義的使用者名稱
$request_filename 表示使用者請求中的URI經過root或alias轉換後的檔案路徑
$request_body 表示HTTP請求中的包體,改引數只在proxy_pass或fastcgi_pass中有意義
$request_completion 當請求全部完成時,其值為ok,如果沒有完成,返回客戶端,其值為空字串
$request_method 表示HTTP請求中的方法名,GET、PUT、POST等
$scheme 表示HTTP scheme,如在請求https://nginx.com中表示https
$server_addr 表示伺服器地址
$server_name 表示伺服器名稱
$server_port 表示伺服器埠
$server_protocol 表示伺服器向客戶端傳送響應的協議