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

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

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

變量一覽

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

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

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

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

實(shí)例

server_name

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

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

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

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

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

}

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

}

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

示例配置:

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

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

  server {

    listen       9266;

    server_name  10.57.112.210;

     # 禁止以 tech.test.xxxxxxx.cn 為前綴的域名訪問(wèn)

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

        return 403;

    }

}

傳遞客戶端的請(qǐng)求信息給后端服務(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ù)器的請(qǐng)求頭中的 Host 字段。$host 表示客戶端請(qǐng)求中的主機(jī)名,$server_port 表示NGINX服務(wù)器的端口號(hào)。這樣設(shè)置可以確保后端服務(wù)器正確識(shí)別請(qǐng)求的目標(biāo)主機(jī)和端口。

proxy_set_header X-Real-IP $remote_addr;:

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

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

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

將NGINX的訪問(wèn)日志記錄到指定的文件中

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

總結(jié)

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

相關(guān)文章

  • nginx 代理80端口轉(zhuǎn)443端口的實(shí)現(xiàn)

    nginx 代理80端口轉(zhuǎn)443端口的實(shí)現(xiàn)

    這篇文章主要介紹了nginx 代理80端口轉(zhuǎn)443端口的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Linux安裝Nginx步驟詳解

    Linux安裝Nginx步驟詳解

    這篇文章主要介紹了Linux安裝Nginx步驟,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 升級(jí)nginx支持HTTP/2服務(wù)端推送的方法

    升級(jí)nginx支持HTTP/2服務(wù)端推送的方法

    這篇文章主要介紹了升級(jí)nginx支持HTTP/2服務(wù)端推送的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • windows系統(tǒng)下安裝Nginx及簡(jiǎn)單使用過(guò)程

    windows系統(tǒng)下安裝Nginx及簡(jiǎn)單使用過(guò)程

    Nginx是一個(gè)很強(qiáng)大的高性能Web和反向代理服務(wù),也是一種輕量級(jí)的Web服務(wù)器,可以作為獨(dú)立的服務(wù)器部署網(wǎng)站,應(yīng)用非常廣泛,特別是現(xiàn)在前后端分離的情況下,這篇文章主要介紹了windows系統(tǒng)下安裝Nginx以及簡(jiǎn)單使用,需要的朋友可以參考下
    2024-04-04
  • Nginx?HttpHeader增加幾個(gè)關(guān)鍵的安全選項(xiàng)問(wèn)題小結(jié)

    Nginx?HttpHeader增加幾個(gè)關(guān)鍵的安全選項(xiàng)問(wèn)題小結(jié)

    本文給大家介紹Nginx?HttpHeader增加幾個(gè)關(guān)鍵的安全選項(xiàng)問(wèn)題小結(jié),結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2024-12-12
  • 詳解通過(guò)Nginx部署Django(基于ubuntu)

    詳解通過(guò)Nginx部署Django(基于ubuntu)

    這篇文章主要介紹了詳解通過(guò)Nginx部署Django(基于ubuntu),Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比較常見(jiàn)的一種方式,有興趣的可以了解一下。
    2017-01-01
  • nginx 多站點(diǎn)配置方法集合

    nginx 多站點(diǎn)配置方法集合

    關(guān)于nginx的多站設(shè)置,其實(shí)和apache很相似,假設(shè)我們已經(jīng)有兩個(gè)域名,分別是:www.websuitA.com和www.websuitB.com。并且這兩個(gè)域名已經(jīng)映射給了IP為192.168.1.1的服務(wù)器。
    2011-06-06
  • Nginx源碼編譯安裝過(guò)程記錄

    Nginx源碼編譯安裝過(guò)程記錄

    本文給大家分享Nginx源碼編譯安裝過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-11-11
  • Nginx服務(wù)器中HTTP 301跳轉(zhuǎn)到帶www的域名的方法

    Nginx服務(wù)器中HTTP 301跳轉(zhuǎn)到帶www的域名的方法

    這篇文章主要介紹了Nginx服務(wù)器中HTTP 301跳轉(zhuǎn)到帶www的域名的方法,包括從HTTPS 301提示跳轉(zhuǎn)等rewrite相關(guān)的方法,需要的朋友可以參考下
    2015-07-07
  • 常見(jiàn)的Nginx配置誤區(qū)

    常見(jiàn)的Nginx配置誤區(qū)

    對(duì)很多人而言,配置Nginx+PHP無(wú)外乎就是搜索一篇教程,然后拷貝粘貼。聽(tīng)上去似乎也沒(méi)什么問(wèn)題,可惜實(shí)際上網(wǎng)絡(luò)上很多資料本身年久失修,漏洞百出,如果大家不求甚解,一味的拷貝粘貼,早晚有一天會(huì)為此付出代價(jià)
    2014-03-03

最新評(píng)論

射洪县| 民丰县| 宁安市| 和平县| 朝阳区| 鄂托克旗| 平原县| 广汉市| 关岭| 和平区| 新源县| 昂仁县| 乐安县| 太谷县| 台中县| 石城县| 伊春市| 赤壁市| 五原县| 蓝山县| 滁州市| 搜索| 专栏| 句容市| 博客| 通州市| 安乡县| 赤城县| 桑日县| 河北区| 宁德市| 绩溪县| 江口县| 呈贡县| 格尔木市| 保德县| 汽车| 乐安县| 淮滨县| 朝阳市| 土默特左旗|