nginx教程第七篇:ngx_http_core_module模組提供的變數
阿新 • • 發佈:2018-12-11
在記錄access_log訪問日誌檔案時, 可以使用ngx_http_core_module模組處理請求時所產 生的豐富的變數, 當然, 這些變數還可以用於其他HTTP模組。
例如:
當URI中的某個引數滿足設定的條件時, 有些HTTP模組的配置項可以使用類似 $arg_PARAMETER 這樣的變數。
又如:
若想把每個請求中的限速資訊記錄到access日誌檔案中, 則可以使用 $limit_rate 變數。
下表列出了ngx_http_core_module模組提供的這些變數:
變數 | 變數描述 |
---|---|
$arg_patameter | HTTP請求中某個引數的值,如/index.php? |
$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 | 表示伺服器向客戶端傳送響應的協議 |