以下僅列出一些常用變量,更多變量請到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. 其他變量
$cookie_name 名為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