最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解讀Nginx變量字段大全

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

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

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

一、請求信息變量

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

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

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

二、客戶端信息變量

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

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

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

四、響應信息變量

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

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

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

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

變量名描述
$connection連接序列號。
$connection_requests當前連接上的請求數(shù)量。
$keepalive_requests持久連接上的請求數(shù)量。
$pipe

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

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

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

八、高級變量

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

請求保留在upstream隊列中的時間。

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

$http_x_forwarded_for

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

九、自定義變量

通過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;
}

注意事項

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

如需查看完整官方文檔,可訪問:Nginx Variables

總結(jié)

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

相關(guān)文章

  • Nginx配置基于多域名、端口、IP的虛擬主機

    Nginx配置基于多域名、端口、IP的虛擬主機

    這篇文章主要介紹了Nginx配置基于多域名、端口、IP的虛擬主機,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11
  • Nginx防盜鏈根據(jù)UA屏蔽惡意User Agent請求(防蜘蛛)

    Nginx防盜鏈根據(jù)UA屏蔽惡意User Agent請求(防蜘蛛)

    相對于 Apache,Nginx 占用的系統(tǒng)資源更少,更適合 VPS 使用。惡意盜鏈的 User Agent 無處不在,博客更換到 WordPress 沒幾天,就被 SPAM(垃圾留言)盯上,又被暴力破解后臺用戶名密碼。今天來介紹 Nginx 屏蔽惡意 User Agent請求的方法
    2016-07-07
  • Nginx tp3.2.3 404問題解決方案

    Nginx tp3.2.3 404問題解決方案

    這篇文章主要介紹了Nginx tp3.2.3 404問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-12-12
  • 如何讓Nginx快速支持TLS1.3協(xié)議詳解

    如何讓Nginx快速支持TLS1.3協(xié)議詳解

    這篇文章主要給大家介紹了如何讓Nginx快速支持TLS1.3協(xié)議的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2018-04-04
  • Nginx進行域名重寫和泛域名解析配置的方法

    Nginx進行域名重寫和泛域名解析配置的方法

    這篇文章主要介紹了Nginx進行域名重寫和泛域名解析配置的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • NGINX基于cookie針對同一域名進行分流轉(zhuǎn)發(fā)

    NGINX基于cookie針對同一域名進行分流轉(zhuǎn)發(fā)

    本文介紹了利用NGINX基于cookie進行多環(huán)境分流的方法,通過在Docker中部署兩個后端NGINX容器,并在前端NGINX配置中設(shè)置map規(guī)則,根據(jù)cookie值將請求分發(fā)到不同后端,感興趣的可以了解一下
    2025-07-07
  • nginx動態(tài)添加訪問白名單的方法

    nginx動態(tài)添加訪問白名單的方法

    本篇文章主要介紹了nginx動態(tài)添加訪問白名單的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • 在Ubuntu20.04上安裝Kubernetes集群

    在Ubuntu20.04上安裝Kubernetes集群

    容器化為開發(fā)人員提供了很大的靈活性,最常用的容器化應用程序之一是 Docker,在容器上部署服務(wù)的主要原因之一是它們靈活、輕量級并且在部署在數(shù)百臺機器上時易于擴展,但是,誰來管理所有這些容器?這就是 Kubernetes 發(fā)揮作用的地方
    2023-12-12
  • nginx部署vue項目的詳細圖文教程

    nginx部署vue項目的詳細圖文教程

    很多小伙伴在做完Vue項目之后,想要部署到服務(wù)器上自己運行試試,下面這篇文章主要給大家介紹了關(guān)于nginx部署vue項目的詳細圖文教程,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • nginx的重定向(rewrite)問題及解讀

    nginx的重定向(rewrite)問題及解讀

    文章主要介紹了Nginx中的location匹配、優(yōu)先級及其與rewrite的區(qū)別,詳細解釋了location和rewrite的使用場景、語法、優(yōu)先級、標志位和執(zhí)行順序等內(nèi)容,并通過示例展示了基于域名和IP地址進行跳轉(zhuǎn)的方法
    2026-05-05

最新評論

石河子市| 大足县| 绥德县| 玉山县| 阿瓦提县| 嘉鱼县| 福海县| 临江市| 定州市| 土默特左旗| 义马市| 荔浦县| 固阳县| 门头沟区| 固阳县| 年辖:市辖区| 博客| 岳阳市| 满城县| 正镶白旗| 华宁县| 临江市| 云和县| 南丰县| 晋江市| 衡阳县| 莎车县| 拉萨市| 子长县| 潮安县| 焦作市| 兴文县| 罗田县| 松溪县| 新绛县| 景谷| 西吉县| 高陵县| 高清| 长武县| 绥化市|