一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Nginx軟件location目錄匹配詳解

馬哥Linux運(yùn)維 ? 來源:博客園 ? 作者:lvzhenjiang ? 2021-10-08 17:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Nginx作為一個輕量級的,高性能的web服務(wù)軟件,因其占有內(nèi)存少,并發(fā)能力強(qiáng)的特點,而廣受歡迎和使用。國內(nèi)很多大型互聯(lián)網(wǎng)公司也對Nginx很是青睞。

像BAT(百度,阿里和騰訊),TMD(頭條,美團(tuán)和滴滴)等等。使用過Nginx的同學(xué)都知道,你只需要按需求準(zhǔn)確的更改好配置啟動,那么就可以優(yōu)雅的訪問它了。

所以說Nginx對配置文件的很是看中呢,這就要求我們更改配置文件時一定要再三確認(rèn),要不然可能因為疏忽而引發(fā)慘案呢?

真實案例,就因為在配置時,少些了一個字符“/”,就造成訪問不通報錯,因而接到投訴。那么是怎么引起的呢?原因就是:Nginx在配置proxy_pass代理轉(zhuǎn)接時,少些“/”字符造成的。有同學(xué)就有疑問,加不加“/”,區(qū)別真的那么大嗎?我們帶著這個疑問,來探究下這個問題。

location目錄匹配詳解

nginx每個location都是一個匹配目錄,nginx的策略是:訪問請求來時,會對訪問地址進(jìn)行解析,從上到下逐個匹配,匹配上就執(zhí)行對應(yīng)location大括號中的策略,并根據(jù)策略對請求作出相應(yīng)。依訪問地址:http://www.wandouduoduo.com/wddd/index.html為例,nginx配置如下:

location /wddd/ { proxy_connect_timeout 18000; ##修改成半個小時 proxy_send_timeout 18000; proxy_read_timeout 18000; proxy_pass http://127.0.0.1:8080; }

那訪問時就會匹配這個location,從而把請求代理轉(zhuǎn)發(fā)到本機(jī)的8080Tomcat服務(wù)中,Tomcat相應(yīng)后,信息原路返回??偨Y(jié):location如果沒有“/”時,請求就可以模糊匹配以字符串開頭的所有字符串,而有“/”時,只能精確匹配字符本身。

下面舉個例子說明:配置location /wandou可以匹配/wandoudouduo請求,也可以匹配/wandou*/duoduo等等,只要以wandou開頭的目錄都可以匹配到。而location /wandou/必須精確匹配/wandou/這個目錄的請求,不能匹配/wandouduoduo/或/wandou*/duoduo等請求。

proxy_pass有無“/”的四種區(qū)別探究

訪問地址都是以:http://www.wandouduoduo.com/wddd/index.html 為例。請求都匹配目錄/wddd/

第一種:加“/”

location /wddd/ { proxy_pass http://127.0.0.1:8080/; }

測試結(jié)果,請求被代理跳轉(zhuǎn)到:http://127.0.0.1:8080/index.html

第二種: 不加“/”

location /wddd/ { proxy_pass http://127.0.0.1:8080; }

測試結(jié)果,請求被代理跳轉(zhuǎn)到:http://127.0.0.1:8080/wddd/index.html

第三種: 增加目錄加“/”

location /wddd/ { proxy_pass http://127.0.0.1:8080/sun/; }

測試結(jié)果,請求被代理跳轉(zhuǎn)到:http://127.0.0.1:8080/sun/index.html

第四種:增加目錄不加“/”

location /wddd/ { proxy_pass http://127.0.0.1:8080/sun; }

測試結(jié)果,請求被代理跳轉(zhuǎn)到:http://127.0.0.1:8080/sunindex.html

總結(jié)

location目錄后加“/”,只能匹配目錄,不加“/”不僅可以匹配目錄還對目錄進(jìn)行模糊匹配。而proxy_pass無論加不加“/”,代理跳轉(zhuǎn)地址都直接拼接。為了加深大家印象可以用下面的配置實驗測試下:

server { listen 80; server_name localhost; # http://localhost/wddd01/xxx -》 http://localhost:8080/wddd01/xxx location /wddd01/ { proxy_pass http://localhost:8080; } # http://localhost/wddd02/xxx -》 http://localhost:8080/xxx location /wddd02/ { proxy_pass http://localhost:8080/;

} # http://localhost/wddd03/xxx -》 http://localhost:8080/wddd03*/xxx location /wddd03 { proxy_pass http://localhost:8080;

} # http://localhost/wddd04/xxx -》 http://localhost:8080//xxx,請注意這里的雙斜線,好好分析一下。 location /wddd04 { proxy_pass http://localhost:8080/;

} # http://localhost/wddd05/xxx -》 http://localhost:8080/hahaxxx,請注意這里的haha和xxx之間沒有斜杠,分析一下原因。 location /wddd05/ { proxy_pass http://localhost:8080/haha;

} # http://localhost/api6/xxx -》 http://localhost:8080/haha/xxx location /wddd06/ { proxy_pass http://localhost:8080/haha/;

} # http://localhost/wddd07/xxx -》 http://localhost:8080/haha/xxx location /wddd07 { proxy_pass http://localhost:8080/haha; }

# http://localhost/wddd08/xxx -》 http://localhost:8080/haha//xxx,請注意這里的雙斜杠。 location /wddd08 { proxy_pass http://localhost:8080/haha/; } }

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Web
    Web
    +關(guān)注

    關(guān)注

    2

    文章

    1287

    瀏覽量

    71359
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    5150

    瀏覽量

    89200
  • nginx
    +關(guān)注

    關(guān)注

    0

    文章

    171

    瀏覽量

    12587

原文標(biāo)題:總結(jié)

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Nginx和Apache的差異

    Nginx是一個 輕量級/高性能 的反向代理Web服務(wù)器,用于 HTTP、HTTPS、SMTP、POP3 和IMAP 協(xié)議。
    的頭像 發(fā)表于 07-09 09:45 ?99次閱讀

    一文詳解Nginx負(fù)載均衡

    Nginx作為負(fù)載均衡器,通過將請求分發(fā)到多個后端服務(wù)器,以提高性能、可靠性和擴(kuò)展性。支持多種負(fù)載均衡算法,如輪詢、最小連接數(shù)、IP哈希等,可以根據(jù)需求選擇適合的算法。
    的頭像 發(fā)表于 06-25 14:51 ?175次閱讀
    一文<b class='flag-5'>詳解</b><b class='flag-5'>Nginx</b>負(fù)載均衡

    Nginx配置終極指南

    Nginx 是開源、高性能、高可靠的 Web 和反向代理服務(wù)器,而且支持熱部署,幾乎可以做到 7 * 24 小時不間斷運(yùn)行,即使運(yùn)行幾個月也不需要重新啟動,還能在不間斷服務(wù)的情況下對軟件版本進(jìn)行熱
    的頭像 發(fā)表于 06-18 15:56 ?320次閱讀
    <b class='flag-5'>Nginx</b>配置終極指南

    Nginx性能優(yōu)化終極指南

    而worker 進(jìn)程數(shù)默認(rèn)為 1 。單進(jìn)程最大連接數(shù)為1024。如下圖(打開Nginx目錄下的/conf/nginx.conf 文檔),現(xiàn)在我們來對這兩個數(shù)值進(jìn)行調(diào)優(yōu)
    的頭像 發(fā)表于 06-16 13:44 ?240次閱讀
    <b class='flag-5'>Nginx</b>性能優(yōu)化終極指南

    Nginx核心功能深度解析

    Nginx核心功能深度解析
    的頭像 發(fā)表于 05-09 10:50 ?277次閱讀

    Nginx緩存配置詳解

    Nginx 是一個功能強(qiáng)大的 Web 服務(wù)器和反向代理服務(wù)器,它可以用于實現(xiàn)靜態(tài)內(nèi)容的緩存,緩存可以分為客戶端緩存和服務(wù)端緩存。
    的頭像 發(fā)表于 05-07 14:03 ?565次閱讀
    <b class='flag-5'>Nginx</b>緩存配置<b class='flag-5'>詳解</b>

    Nginx服務(wù)優(yōu)化教程

    隱藏Nginx版本號,避免安全漏洞泄漏:修改配置文件法;修改源碼法
    的頭像 發(fā)表于 03-12 15:57 ?503次閱讀
    <b class='flag-5'>Nginx</b>服務(wù)優(yōu)化教程

    nginx+lua+redis實現(xiàn)灰度發(fā)布

    作者:馬仁喜 前言: 授人以魚不如授人以漁 .先學(xué)會用,在學(xué)原理,在學(xué)創(chuàng)造,可能一輩子用不到這種能力,但是不能不具備這種能力。這篇文章主要是沉淀使用nginx+lua+redis實現(xiàn)灰度,當(dāng)我們具備
    的頭像 發(fā)表于 12-17 10:01 ?430次閱讀

    Nginx代理轉(zhuǎn)發(fā)實戰(zhàn):零基礎(chǔ)掌握服務(wù)器流量分發(fā)技巧

    的url中就會帶上location中的匹配路徑。 ???? 假設(shè)下面四種 Nginx配置,都用?http://192.168.1.8/proxy/test.html?進(jìn)行訪問: 第一種:
    的頭像 發(fā)表于 12-09 12:28 ?2079次閱讀

    Nginx日常運(yùn)維方法Linux版

    ,Nginx安裝目錄? ? whereis nginx ? 如圖: 執(zhí)行目錄:/usr/sbin/nginx 模塊所在
    的頭像 發(fā)表于 12-06 16:38 ?457次閱讀
    <b class='flag-5'>Nginx</b>日常運(yùn)維方法Linux版

    詳解nginx中的正則表達(dá)式

    前言,我這里驗證的nginx-v1.23.2單機(jī)環(huán)境下的nginx中的正則表達(dá)式、location路徑匹配規(guī)則和優(yōu)先級。
    的頭像 發(fā)表于 12-03 09:59 ?847次閱讀
    <b class='flag-5'>詳解</b><b class='flag-5'>nginx</b>中的正則表達(dá)式

    確保網(wǎng)站無縫運(yùn)行:Keepalived高可用與Nginx集成實戰(zhàn)

    目錄 keepalived高可用(nginx) keepalived簡介 keepalived的重要功能 keepalived高可用架構(gòu)圖 keepalived工作原理描述 keepalived實現(xiàn)
    的頭像 發(fā)表于 11-27 09:08 ?1169次閱讀
    確保網(wǎng)站無縫運(yùn)行:Keepalived高可用與<b class='flag-5'>Nginx</b>集成實戰(zhàn)

    nginx負(fù)載均衡配置介紹

    目錄 nginx負(fù)載均衡 nginx負(fù)載均衡介紹 反向代理與負(fù)載均衡 nginx負(fù)載均衡配置 Keepalived高可用nginx負(fù)載均衡器
    的頭像 發(fā)表于 11-10 13:39 ?746次閱讀
    <b class='flag-5'>nginx</b>負(fù)載均衡配置介紹

    nginx中的正則表達(dá)式和location路徑匹配指南

    前言,我這里驗證的nginx-v1.23.2單機(jī)環(huán)境下的nginx中的正則表達(dá)式、location路徑匹配規(guī)則和優(yōu)先級。
    的頭像 發(fā)表于 09-29 16:02 ?1729次閱讀
    <b class='flag-5'>nginx</b>中的正則表達(dá)式和<b class='flag-5'>location</b>路徑<b class='flag-5'>匹配</b>指南

    Jtti:美國VPS開啟nginx狀態(tài)監(jiān)控,查看web服務(wù)器的并發(fā)連接數(shù)

    |htaccess|asp|aspx|jsp|asa|mdb)$ { deny all; }location ~ ^/Nginxstatus/ {stub_status on;access_log off;}上面的代碼紅色部分為nginx的監(jiān)控代?。 2、重
    的頭像 發(fā)表于 08-26 15:42 ?680次閱讀