天天看點

[nginx] nginx的常用内置變量

常用内置變量 , 有時候在使用nginx排查問題 , 或者進行各種操作的時候 , 都有用處

以下僅列出一些常用變量,更多變量請到nginx官網查閱

http://nginx.org/en/docs/varindex.html

1. 從請求行中解析的變量

以通路http://localhost:80/nginx/varindex?a=1&b=2得到的結果GET /nginx/varindex?a=1&b=2 HTTP/1.1 為例(可以在access.log日志中看到通路結果)

$arg_name

請求行中的參數,$arg_a=1,$arg_b=2,若無參數則為空字元串

$is_args

請求行中是否包含參數,若包含,則$is_args=?,否則為空字元串

$args

請求行中的全部參數,$args=a=1&b=2,若無參數則為空字元串

$request

完整的原始的請求行,GET /nginx/varindex?a=1&b=2 HTTP/1.1

$request_method

請求方法,如GET、POST

$request_uri

完整的原始請求URI,通路的URL除去域名(或IP)和port,如/nginx/varindex?a=1&b=2

$document_uri/$uri

請求規範化以後的URI,可能與$request_uri不同,值可能随請求的處理過程而改變

$server_protocol

請求的協定版本,如HTTP/1.0

以上變量在配置檔案中通常配合try_files指令和rewrite指令使用

複制代碼

2. 從請求頭中解析到的變量

$host

請求頭的值,以下順序獲得:請求行中的host、請求頭中的Host、配置檔案中比對到的server_name

$remote_addr

用戶端ip位址

$remote_port

用戶端端口

$remote_user

基本身份驗證随附的使用者名

$http_cookie

Cookie請求頭的值

$http_user_agent

使用者代理

$cookie_name

Cookie中名為name的值

$http_referer

Http-Referer請求頭的值

3. 其他變量

名為name的cookie

$protocol

與用戶端通信的協定: TCP或UDP(1.11.4)

$hostname

運作nginx的伺服器主機名

$server_name

接受請求的伺服器主機名

$body_bytes_sent

發送給用戶端的位元組數

$connection_requests

通過連接配接發出的目前請求數

$limit_rate

用于設定響應的速度限制

$time_local

通用日志格式的本地時間

$status

響應狀态傳回碼

$request_time

請求處理時間

$proxy_add_x_fowarded_for

在用戶端傳遞來的X-Forwarded-For請求頭後面追加$remote_addr(用逗号分隔)

如果用戶端沒有傳遞X-Forwarded-For請求頭,那麼該變量等于$remote_addr

$msec

以毫秒為機關的目前時間

$scheme

請求模式,http或https

$nginx_version

Nginx版本

$pid

工作程序的PID

通過日志列印這些資料

[nginx] nginx的常用内置變量
[nginx] nginx的常用内置變量

繼續閱讀