欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解讀Nginx變量字段大全

 更新時(shí)間:2025年07月03日 08:36:15   作者:alden_ygq  
這篇文章主要介紹了Nginx變量字段,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Nginx 的變量系統(tǒng)功能強(qiáng)大,能夠捕獲請(qǐng)求、響應(yīng)和服務(wù)器狀態(tài)的各種信息。

以下是常用的 Nginx 變量分類整理:

一、請(qǐng)求信息變量

變量名描述
$host請(qǐng)求中的主機(jī)名(如example.com),優(yōu)先使用請(qǐng)求行的主機(jī)名,否則使用 server_name。
$request_methodHTTP 請(qǐng)求方法(如GET、POST)。
$request_uri完整的請(qǐng)求 URI(如/path?query=string)。
$uri解碼后的請(qǐng)求 URI,可能在處理過(guò)程中被修改(如/path)。
$args請(qǐng)求中的查詢字符串(如query=string)。
$query_string同$args。
$request_body請(qǐng)求體內(nèi)容,需在location中啟用proxy_pass或fastcgi_pass。
$content_type請(qǐng)求的 Content-Type 頭(如application/json)。
$content_length請(qǐng)求的 Content-Length 頭。
$request

記錄請(qǐng)求的URL和HTTP協(xié)議

$request_length用于記錄客戶端請(qǐng)求的總大?。ㄒ宰止?jié)為單位)。這個(gè)變量包含了整個(gè) HTTP 請(qǐng)求的所有部分:請(qǐng)求行、請(qǐng)求頭和請(qǐng)求體。它在日志分析、流量監(jiān)控和安全防護(hù)等場(chǎng)景中非常有用。

二、客戶端信息變量

變量名描述
$remote_addr客戶端 IP 地址。
$remote_port客戶端端口號(hào)。
$http_user_agent客戶端 User-Agent 頭(如瀏覽器信息)。
$http_referer客戶端 Referer 頭(來(lái)源頁(yè)面)。
$http_cookie客戶端 Cookie 頭。

三、服務(wù)器信息變量

變量名描述
$server_addr服務(wù)器 IP 地址。
$server_port服務(wù)器端口號(hào)。
$server_name匹配請(qǐng)求的 server_name。
$scheme請(qǐng)求協(xié)議(http或https)。
$server_protocol請(qǐng)求協(xié)議版本(如HTTP/1.1)。

四、響應(yīng)信息變量

變量名描述
$status響應(yīng)狀態(tài)碼(如200、404)。
$body_bytes_sent發(fā)送給客戶端的響應(yīng)體字節(jié)數(shù)(不包含響應(yīng)頭)。
$bytes_sent用于記錄發(fā)送給客戶端的總字節(jié)數(shù),包括響應(yīng)頭和響應(yīng)體。這個(gè)變量在日志記錄、流量統(tǒng)計(jì)和性能監(jiān)控中非常有用。
$sent_http_*自定義響應(yīng)頭(如$sent_http_content_type)。

五、時(shí)間相關(guān)變量

變量名描述
$request_time請(qǐng)求處理時(shí)間(單位:秒,精確到毫秒)。
$msec當(dāng)前時(shí)間(單位:秒,精確到毫秒)。
$time_iso8601ISO 8601 格式的時(shí)間(如2023-01-01T12:00:00+08:00)。
$time_local本地時(shí)間(如01/Jan/2023:12:00:00 +0800)。

六、連接相關(guān)變量

變量名描述
$connection連接序列號(hào)。
$connection_requests當(dāng)前連接上的請(qǐng)求數(shù)量。
$keepalive_requests持久連接上的請(qǐng)求數(shù)量。
$pipe

用于指示請(qǐng)求的處理方式是通過(guò)管道(piped)還是緩沖(buffered)。這個(gè)變量主要用于調(diào)試和性能分析,特別是在處理大文件或代理請(qǐng)求時(shí)。

七、Nginx 內(nèi)置變量

變量名描述
$arg_*獲取請(qǐng)求參數(shù)(如$arg_name獲取?name=value中的value)。
$cookie_*獲取 Cookie 值(如$cookie_session)。
$http_*獲取任意請(qǐng)求頭(如$http_accept)。
$sent_http_*設(shè)置響應(yīng)頭(如add_header Cache-Control $sent_http_cache_control)。

八、高級(jí)變量

變量名描述
$upstream_addr上游服務(wù)器地址(如代理后端的 IP: 端口)。
$upstream_response_time上游服務(wù)器響應(yīng)時(shí)間(多個(gè)上游時(shí)用逗號(hào)分隔)。
$uri_filenameURI 中的文件名部分(如/path/file.txt中的file.txt)。
$request_id生成唯一請(qǐng)求 ID(用于日志追蹤)。
$upstream_connect_timeNginx與后游服務(wù)器建立連接所消耗的時(shí)間,其中包含連接握手的時(shí)間,單位為秒。
$upstream_header_time接收到后端服務(wù)器響應(yīng)頭花費(fèi)的時(shí)間。
$upstream_queue_time

請(qǐng)求保留在upstream隊(duì)列中的時(shí)間。

隊(duì)列:如果在處理請(qǐng)求時(shí)無(wú)法立即選擇upstream服務(wù)器,則該請(qǐng)求將被放入隊(duì)列中。如果隊(duì)列已滿,或者在timeout參數(shù)指定的時(shí)間段內(nèi)無(wú)法選擇將請(qǐng)求傳遞給的服務(wù)器,則會(huì)將502(錯(cuò)誤網(wǎng)關(guān))錯(cuò)誤返回給客戶端。

$http_x_forwarded_for

用于獲取客戶端的真實(shí) IP 地址。在經(jīng)過(guò)代理服務(wù)器(如負(fù)載均衡器、CDN)轉(zhuǎn)發(fā)的請(qǐng)求中,客戶端的原始 IP 會(huì)被記錄在 X-Forwarded-For 請(qǐng)求頭中,而非 $remote_addr(它記錄的是直接連接到 Nginx 的客戶端或代理服務(wù)器的 IP)。
$remote_user 用于獲取通過(guò) HTTP 基礎(chǔ)認(rèn)證(Basic Authentication)驗(yàn)證的用戶名。它在需要用戶身份驗(yàn)證的場(chǎng)景中非常有用,但在使用時(shí)需要注意其生效條件和安全問(wèn)題。
$http_authorization用于獲取客戶端發(fā)送的 Authorization 請(qǐng)求頭。這個(gè)變量在處理身份驗(yàn)證(如 Basic Auth、Bearer Token、OAuth 等)時(shí)非常重要。

九、自定義變量

通過(guò)set指令定義:

set $my_var "custom_value";

使用示例

在配置中引用變量:

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                '$status $body_bytes_sent "$http_referer" '
                '"$http_user_agent" "$http_x_forwarded_for"';

access_log /var/log/nginx/access.log main;

location /proxy {
    proxy_pass http://backend;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
}

注意事項(xiàng)

  1. 變量生效范圍:部分變量(如$request_body)僅在特定模塊或指令中可用。
  2. 性能影響:過(guò)度使用復(fù)雜變量(如正則表達(dá)式變量)可能影響性能。
  3. 變量嵌套:某些情況下變量嵌套(如$http_$variable)可能不生效,需用map指令處理。

如需查看完整官方文檔,可訪問(wèn):Nginx Variables

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 教你如何快速搭建和配置 Nginx 服務(wù)器

    教你如何快速搭建和配置 Nginx 服務(wù)器

    Nginx 是一個(gè)高性能的 HTTP 和反向代理服務(wù)器,也是一個(gè) IMAP/POP3/SMTP 代理服務(wù)器,本文將詳細(xì)介紹如何在 Linux 上安裝、配置和管理 Nginx 服務(wù)器,感興趣的朋友一起看看吧
    2024-07-07
  • Nginx日志中request_time和upstream_response_time區(qū)別

    Nginx日志中request_time和upstream_response_time區(qū)別

    Nginx日志中的request_time和upstream_response_time是關(guān)鍵的性能指標(biāo),本文就來(lái)介紹一下Nginx日志中request_time和upstream_response_time區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-11-11
  • nginx配置中$http_host、$host、$host:$proxy_port和$host:$server_port區(qū)別解析

    nginx配置中$http_host、$host、$host:$proxy_port和$host:$server_por

    nginx為了實(shí)現(xiàn)反向代理的需求而增加了一個(gè)ngx_http_proxy_module模塊,其中proxy_set_header指令就是該模塊需要讀取的配置文件,這篇文章主要介紹了nginx配置中$http_host、$host、$host:$proxy_port和$host:$server_port區(qū)別,需要的朋友可以參考下
    2024-03-03
  • Nginx中日志模塊的應(yīng)用和配置應(yīng)用示例

    Nginx中日志模塊的應(yīng)用和配置應(yīng)用示例

    Nginx是一款高性能的HTTP和反向代理服務(wù)器,廣泛應(yīng)用于互聯(lián)網(wǎng)領(lǐng)域,這篇文章主要介紹了Nginx中日志模塊的應(yīng)用和配置,下面通過(guò)一個(gè)簡(jiǎn)單的實(shí)例來(lái)演示Nginx日志模塊的應(yīng)用和配置,需要的朋友可以參考下
    2024-02-02
  • Nginx反向代理一個(gè)80端口下配置多個(gè)微信項(xiàng)目詳解

    Nginx反向代理一個(gè)80端口下配置多個(gè)微信項(xiàng)目詳解

    這篇文章主要介紹了Nginx反向代理一個(gè)80端口下配置多個(gè)微信項(xiàng)目詳解的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Mac環(huán)境Nginx配置和訪問(wèn)本地靜態(tài)資源的實(shí)現(xiàn)

    Mac環(huán)境Nginx配置和訪問(wèn)本地靜態(tài)資源的實(shí)現(xiàn)

    這篇文章主要介紹了Mac環(huán)境Nginx配置和訪問(wèn)本地靜態(tài)資源的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 利用Nginx反向代理功能解決WEB網(wǎng)站80端口被封的解決方法

    利用Nginx反向代理功能解決WEB網(wǎng)站80端口被封的解決方法

    大陸的網(wǎng)絡(luò)環(huán)境,都在天朝神獸的制度下讓我等小P民悲劇一片;動(dòng)不動(dòng)就拔網(wǎng)線、封機(jī)房;現(xiàn)在更厲害的一招,從網(wǎng)關(guān)封殺你的80端口,一旦被封,網(wǎng)站域名就無(wú)法訪問(wèn)
    2012-08-08
  • Nginx日志打印自定義請(qǐng)求頭的實(shí)戰(zhàn)

    Nginx日志打印自定義請(qǐng)求頭的實(shí)戰(zhàn)

    nginx的日志可以打印很多內(nèi)容,但是有時(shí)候自定義的請(qǐng)求頭該怎么打印呢,本文就來(lái)介紹一下,感興趣的可以了解一下
    2024-12-12
  • Nginx配置如何區(qū)分PC或手機(jī)訪問(wèn)不同域名

    Nginx配置如何區(qū)分PC或手機(jī)訪問(wèn)不同域名

    這篇文章主要介紹了Nginx配置如何區(qū)分PC或手機(jī)訪問(wèn)不同域名,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • nginx?gzip?動(dòng)態(tài)靜態(tài)壓縮詳解

    nginx?gzip?動(dòng)態(tài)靜態(tài)壓縮詳解

    這篇文章主要為大家介紹了nginx?gzip?動(dòng)態(tài)靜態(tài)壓縮實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03

最新評(píng)論