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

Nginx的預(yù)定義變量方式

 更新時間:2025年07月03日 09:16:50   作者:晨港飛燕劉彥登  
這篇文章主要介紹了Nginx的預(yù)定義變量方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

變量一覽

NGINX 提供了一系列預(yù)定義變量,可以在配置文件中使用。這些變量提供了關(guān)于請求、連接、服務(wù)器等信息的訪問。

以下是一些常用的預(yù)定義變量:

$arg_PARAMETER: GET 請求參數(shù)中的指定參數(shù)值。
$args: 請求中的參數(shù)字符串。
$binary_remote_addr: 客戶端 IP 地址(二進(jìn)制格式)。
$body_bytes_sent: 發(fā)送給客戶端的字節(jié)數(shù)。
$bytes_sent: 發(fā)送給客戶端的總字節(jié)數(shù)。
$connection: 連接序列號。
$connection_requests: 已處理的當(dāng)前連接的請求數(shù)量。
$content_length: 請求頭中的 Content-Length 字段。
$content_type: 請求頭中的 Content-Type 字段。
$cookie_COOKIE: 請求中的指定 Cookie 值。
$document_root: 當(dāng)前請求的根目錄。
$document_uri: 請求的 URI(不包含參數(shù))。
$host: 請求中的主機(jī)頭字段。
$hostname: 請求的主機(jī)名。
$is_args: 如果請求參數(shù)存在,則為 "?",否則為空字符串。
$limit_rate: 限制客戶端請求的速率。
$msec: 當(dāng)前時間戳(毫秒級)。
$nginx_version: 當(dāng)前 NGINX 版本號。
$pid: 當(dāng)前 NGINX 進(jìn)程 ID。
$query_string: 請求的查詢字符串。
$realpath_root: 請求根目錄的真實(shí)路徑。
$remote_addr: 客戶端 IP 地址。
$remote_port: 客戶端端口號。
$remote_user: HTTP 認(rèn)證的用戶名。
$request: HTTP 請求行(例如:GET /index.html HTTP/1.1)。
$request_body: 請求的主體內(nèi)容。
$request_completion: 請求的完成狀態(tài)("OK" 或空)。
$request_filename: 當(dāng)前請求的文件路徑。
$request_length: 請求的長度(包括請求行、頭部和主體)。
$request_method: 請求的 HTTP 方法(例如:GET、POST)。
$request_time: 請求處理時間(秒)。
$request_uri: 請求的 URI(包括參數(shù))。
$scheme: 請求的協(xié)議(http 或 https)。
$sent_http_HEADER: 發(fā)送給客戶端的響應(yīng)頭字段值。
$server_addr: 服務(wù)器 IP 地址。
$server_name: 服務(wù)器名稱。
$server_port: 服務(wù)器端口號。
$server_protocol: 服務(wù)器協(xié)議(例如:HTTP/1.1)。
$status: 服務(wù)器響應(yīng)的 HTTP 狀態(tài)碼。
$tcpinfo_rtt: 客戶端到服務(wù)器的往返時延(RTT)。
$tcpinfo_rttvar: RTT 方差。
$tcpinfo_snd_cwnd: 發(fā)送方擁塞窗口大小。
$time_iso8601: 當(dāng)前時間(ISO 8601 格式)。
$time_local: 當(dāng)前時間(本地時間格式)。
$uri: 請求的 URI(不包含參數(shù))。
$variable: 自定義的變量值。
$http_HEADER: 請求頭中的指定字段值。
$http_accept: 客戶端發(fā)送的 Accept 頭部。
$http_accept_encoding: 客戶端發(fā)送的 Accept-Encoding 頭部。
$http_accept_language: 客戶端發(fā)送的 Accept-Language 頭部。
$http_cache_control: 客戶端發(fā)送的 Cache-Control 頭部。
$http_connection: 客戶端發(fā)送的 Connection 頭部。
$http_cookie: 客戶端發(fā)送的 Cookie 頭部。
$http_host: 請求中的主機(jī)頭字段。
$http_referer: 引導(dǎo)用戶代理到當(dāng)前頁面的來源頁面。
$http_user_agent: 客戶端的用戶代理字符串。
$http_upgrade: 客戶端發(fā)送的 Upgrade 頭部。
$http_via: 客戶端發(fā)送的 Via 頭部。
$http_x_forwarded_for: 客戶端請求中包含的 X-Forwarded-For 頭部信息,表示請求經(jīng)過的代理服務(wù)器 IP 地址。
$http_x_real_ip: 客戶端請求中包含的 X-Real-IP 頭部信息,表示客戶端的真實(shí) IP 地址。

這些預(yù)定義變量可以在 NGINX 的配置文件中使用,用于記錄訪問日志、設(shè)置重定向、控制訪問權(quán)限等。使用這些變量可以讓 NGINX 配置更加靈活和強(qiáng)大。

實(shí)例

server_name

在NGINX中,server_name指令用于指定服務(wù)器塊(server block)所匹配的主機(jī)名(hostname)。

主機(jī)名是瀏覽器在發(fā)送HTTP請求時提供的域名。

server_name指令允許你配置NGINX服務(wù)器以響應(yīng)特定的域名請求。

當(dāng)NGINX收到一個請求時,它會檢查請求的主機(jī)名與配置文件中的server_name指令是否匹配,如果匹配,則會選擇相應(yīng)的服務(wù)器塊來處理請求。

server {
    listen 80;
    server_name example.com;
    # 其他配置...

}

server {
    listen 80;
    server_name www.example.com;
    # 其他配置...

}

例如,如果你有兩個域名example.com和www.example.com指向同一個服務(wù)器,但你希望為每個域名提供不同的內(nèi)容或配置,你可以在NGINX配置文件中創(chuàng)建兩個服務(wù)器塊,并分別指定它們的server_name為example.com和www.example.com。

示例配置:

在這個配置中,第一個服務(wù)器塊將響應(yīng)example.com域名的請求,而第二個服務(wù)器塊將響應(yīng)www.example.com域名的請求。

案例:限制域名訪問,但是不限制其對應(yīng)的公網(wǎng)ip訪問

  server {

    listen       9266;

    server_name  10.57.112.210;

     # 禁止以 tech.test.xxxxxxx.cn 為前綴的域名訪問

    if ($host ~* "^tech\.test\.xxxxxxx\.cn") {

        return 403;

    }

}

傳遞客戶端的請求信息給后端服務(wù)器

在server或者location下配置

proxy_set_header     Host $hos:$server_port;
proxy_set_header     X-Real-IP $remote_addr;
proxy_set_header     X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Host $host:$server_port;:

這一行設(shè)置了將要發(fā)送到后端服務(wù)器的請求頭中的 Host 字段。$host 表示客戶端請求中的主機(jī)名,$server_port 表示NGINX服務(wù)器的端口號。這樣設(shè)置可以確保后端服務(wù)器正確識別請求的目標(biāo)主機(jī)和端口。

proxy_set_header X-Real-IP $remote_addr;:

這一行設(shè)置了將要發(fā)送到后端服務(wù)器的請求頭中的 X-Real-IP 字段。$remote_addr 表示客戶端的真實(shí)IP地址。這樣設(shè)置有助于后端服務(wù)器獲取到客戶端的真實(shí)IP地址,而不是NGINX服務(wù)器的IP地址。

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;:

這一行設(shè)置了將要發(fā)送到后端服務(wù)器的請求頭中的 X-Forwarded-For 字段。$proxy_add_x_forwarded_for 表示NGINX在轉(zhuǎn)發(fā)請求時會將客戶端的原始IP地址添加到已有的 X-Forwarded-For 字段中。

這個字段通常用于跟蹤請求經(jīng)過的代理服務(wù)器鏈路,以便后端服務(wù)器可以了解到請求的原始來源。

總的來說,這些配置是為了確保NGINX作為代理服務(wù)器時能正確地傳遞客戶端的請求信息給后端服務(wù)器,并且保留了客戶端的真實(shí)IP地址和請求路徑。

將NGINX的訪問日志記錄到指定的文件中

在http,server或location下配置access_log,在配置access_log前先在http下配置log_format,

# 定義自定義的日志格式 
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 /usr/local/nginx/logs/access_9266.log main;
  • access_log: 這是NGINX配置指令,用于指定訪問日志的位置和格式。
  • /usr/local/nginx/logs/access_9266.log: 這是實(shí)際的日志文件路徑和文件名。NGINX 會將訪問日志記錄到這個文件中。
  • main: 這是日志格式的名稱。在NGINX的配置文件中,可以定義不同的日志格式,main 是其中一個預(yù)定義的日志格式。

總結(jié)

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

相關(guān)文章

  • Centos7 安裝Nginx整合Lua的示例代碼

    Centos7 安裝Nginx整合Lua的示例代碼

    這篇文章主要介紹了Centos7 安裝Nginx整合Lua的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • 解決SSE流被Nginx緩存的問題

    解決SSE流被Nginx緩存的問題

    如果你的服務(wù)使用了nginx網(wǎng)關(guān),可能會出現(xiàn)nginx緩沖sse流的問題,導(dǎo)致的現(xiàn)象是,客戶端調(diào)用sse接口時,流數(shù)據(jù)并不是一條條出現(xiàn)的,而是一口氣出現(xiàn)的,本文將給大家介紹如何解決SSE流被Nginx緩存的問題,需要的朋友可以參考下
    2023-10-10
  • Nginx隱藏server頭信息的實(shí)現(xiàn)

    Nginx隱藏server頭信息的實(shí)現(xiàn)

    本文主要介紹了Nginx隱藏server頭信息的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 使用Nginx配置瀏覽器緩存,頁面展示更快一步

    使用Nginx配置瀏覽器緩存,頁面展示更快一步

    這篇文章主要介紹了使用Nginx配置瀏覽器緩存,頁面展示更快一步問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Nginx大并發(fā)優(yōu)化實(shí)戰(zhàn)

    Nginx大并發(fā)優(yōu)化實(shí)戰(zhàn)

    這篇文章主要介紹了Nginx大并發(fā)優(yōu)化實(shí)戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Nginx日志實(shí)現(xiàn)訪問異常報警詳解

    Nginx日志實(shí)現(xiàn)訪問異常報警詳解

    Nginx把遇到的不同級別的問題信息寫到錯誤日志。error_log 指令配置記錄到特定的文件,stderr,或者syslog,配置寫到日志的最低級別信息。下面這篇文章主要介紹了利用Nginx日志實(shí)現(xiàn)訪問異常報警的相關(guān)資料,需要的朋友可以參考下。
    2017-03-03
  • Nginx實(shí)現(xiàn)靜態(tài)資源壓縮的方法詳解

    Nginx實(shí)現(xiàn)靜態(tài)資源壓縮的方法詳解

    靜態(tài)資源過大,下載耗時導(dǎo)致頁面打開慢,希望通過壓縮減小文件大小,提升下載速度,所以本文給大家介紹了Nginx實(shí)現(xiàn)靜態(tài)資源壓縮的方法,并通過代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • nginx配置ssl雙向驗(yàn)證的方法

    nginx配置ssl雙向驗(yàn)證的方法

    這篇文章主要介紹了nginx配置ssl雙向驗(yàn)證的方法,需要的朋友可以參考下
    2014-11-11
  • nginx服務(wù)器的下載安裝與使用詳解

    nginx服務(wù)器的下載安裝與使用詳解

    這篇文章主要介紹了nginx服務(wù)器的下載安裝與使用,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-07-07
  • ELK監(jiān)控nginx日志的整體流程

    ELK監(jiān)控nginx日志的整體流程

    這篇文章主要介紹了ELK監(jiān)控nginx日志總結(jié),整體流程是先把logstash啟動,讀取nginx日志數(shù)據(jù)存儲到ES中,再用kibana進(jìn)行統(tǒng)計以及可視化,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-03-03

最新評論