Nginx —— ngx_http_core_module 模块提供的变量
生活随笔
收集整理的這篇文章主要介紹了
Nginx —— ngx_http_core_module 模块提供的变量
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在記錄access_log 訪問日志文件時(shí),就可以使用ngx_http_core_module 模塊處理請(qǐng)求時(shí)所產(chǎn)生的豐富的變量,當(dāng)然,這些變量還可以用于其他http模塊。
例如: 當(dāng)URI中的某個(gè)參數(shù)滿足設(shè)定的條件時(shí),有些HTTP模塊的配置可以使用類似$arg_PARAMETER這樣的變量。
例如: 若想把每個(gè)請(qǐng)求中的限速信息記錄到access日志文件中,則可以使用$limit_rate變量。
參數(shù)名 | 意義 |
$arg_PARAMETER | HTTP 請(qǐng)求中某個(gè)參數(shù)的值,如/index.php?site=www.ttlsa.com,可以用$arg_site取得www.ttlsa.com這個(gè)值. |
$args | HTTP 請(qǐng)求中的完整參數(shù)。例如,在請(qǐng)求/index.php?width=400&height=200 中,$args表示字符串width=400&height=200. |
$binary_remote_addr | 二進(jìn)制格式的客戶端地址。例如:\x0A\xE0B\x0E |
? $body_bytes_sent ? | 表示在向客戶端發(fā)送的http響應(yīng)中,包體部分的字節(jié)數(shù) |
$content_length ? | 表示客戶端請(qǐng)求頭部中的Content-Length 字段 |
$content_type ? | 表示客戶端請(qǐng)求頭部中的Content-Type 字段 |
$cookie_COOKIE ? | 表示在客戶端請(qǐng)求頭部中的cookie 字段 |
$document_root ? | 表示當(dāng)前請(qǐng)求所使用的root 配置項(xiàng)的值 |
$uri ? | 表示當(dāng)前請(qǐng)求的URI,不帶任何參數(shù) |
$document_uri ? | 與$uri 含義相同 |
$request_uri ? | 表示客戶端發(fā)來的原始請(qǐng)求URI,帶完整的參數(shù)。$uri和$document_uri未必是用戶的原始請(qǐng)求,在內(nèi)部重定向后可能是重定向后的URI,而$request_uri 永遠(yuǎn)不會(huì)改變,始終是客戶端的原始URI. |
$host ? | 表示客戶端請(qǐng)求頭部中的Host字段。如果Host字段不存在,則以實(shí)際處理的server(虛擬主機(jī))名稱代替。如果Host字段中帶有端口,如IP:PORT,那么$host是去掉端口的,它的值為IP。$host 是全小寫的。這些特性與http_HEADER中的http_host不同,http_host只取出Host頭部對(duì)應(yīng)的值。 |
$hostname ? | 表示 Nginx所在機(jī)器的名稱,與 gethostbyname調(diào)用返回的值相同 |
$http_HEADER ? | 表示當(dāng)前 HTTP請(qǐng)求中相應(yīng)頭部的值。HEADER名稱全小寫。例如,示請(qǐng)求中 Host頭部對(duì)應(yīng)的值 用 $http_host表 |
$sent_http_HEADER ? | 表示返回客戶端的 HTTP響應(yīng)中相應(yīng)頭部的值。HEADER名稱全小寫。例如,用 $sent_ http_content_type表示響應(yīng)中 Content-Type頭部對(duì)應(yīng)的值 |
$is_args ? | ?表示請(qǐng)求中的 URI是否帶參數(shù),如果帶參數(shù),$is_args值為 ?,如果不帶參數(shù),則是空字符串 |
$limit_rate ? | 表示當(dāng)前連接的限速是多少,0表示無限速 |
$nginx_version ? | 表示當(dāng)前 Nginx的版本號(hào) |
$query_string ? | 請(qǐng)求 URI中的參數(shù),與 $args相同,然而 $query_string是只讀的不會(huì)改變 |
$remote_addr ? | 表示客戶端的地址 |
$remote_port ? | 表示客戶端連接使用的端口 |
$remote_user ? | 表示使用 Auth Basic Module時(shí)定義的用戶名 |
$request_filename ? | 表示用戶請(qǐng)求中的 URI經(jīng)過 root或 alias轉(zhuǎn)換后的文件路徑 |
$request_body ? | 表示 HTTP請(qǐng)求中的包體,該參數(shù)只在 proxy_pass或 fastcgi_pass中有意義 |
$request_body_file ? | 表示 HTTP請(qǐng)求中的包體存儲(chǔ)的臨時(shí)文件名 |
$request_completion ? | 當(dāng)請(qǐng)求已經(jīng)全部完成時(shí),其值為 “ok”。若沒有完成,就要返回客戶端,則其值為空字符串;或者在斷點(diǎn)續(xù)傳等情況下使用 HTTP range訪問的并不是文件的最后一塊,那么其值也是空字符串。 |
$request_method ? | 表示 HTTP請(qǐng)求的方法名,如 GET、PUT、POST等 |
$scheme ? | HTTP scheme,如在請(qǐng)求 https://nginx.com/中表示 https |
$server_addr ? | 表示服務(wù)器地址 |
$server_name ? | 表示服務(wù)器名稱 |
$server_port ? | ?表示服務(wù)器端口 |
$server_protocol | 表示服務(wù)器向客戶端發(fā)送響應(yīng)的協(xié)議,如 HTTP/1.1或 HTTP/1.0 |
?
總結(jié)
以上是生活随笔為你收集整理的Nginx —— ngx_http_core_module 模块提供的变量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

- 上一篇: Nginx —— nginx的命令行控
- 下一篇: Nginx —— nginx负载均衡的