女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Nginx軟件location目錄匹配詳解

馬哥Linux運維 ? 來源:博客園 ? 作者:lvzhenjiang ? 2021-10-08 17:10 ? 次閱讀

Nginx作為一個輕量級的,高性能的web服務軟件,因其占有內存少,并發能力強的特點,而廣受歡迎和使用。國內很多大型互聯網公司也對Nginx很是青睞。

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

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

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

location目錄匹配詳解

nginx每個location都是一個匹配目錄,nginx的策略是:訪問請求來時,會對訪問地址進行解析,從上到下逐個匹配,匹配上就執行對應location大括號中的策略,并根據策略對請求作出相應。依訪問地址: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,從而把請求代理轉發到本機的8080Tomcat服務中,Tomcat相應后,信息原路返回。總結:location如果沒有“/”時,請求就可以模糊匹配以字符串開頭的所有字符串,而有“/”時,只能精確匹配字符本身。

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

proxy_pass有無“/”的四種區別探究

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

第一種:加“/”

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

測試結果,請求被代理跳轉到:http://127.0.0.1:8080/index.html

第二種: 不加“/”

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

測試結果,請求被代理跳轉到:http://127.0.0.1:8080/wddd/index.html

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

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

測試結果,請求被代理跳轉到:http://127.0.0.1:8080/sun/index.html

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

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

測試結果,請求被代理跳轉到:http://127.0.0.1:8080/sunindex.html

總結

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

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/; } }

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Web
    Web
    +關注

    關注

    2

    文章

    1281

    瀏覽量

    70776
  • 軟件
    +關注

    關注

    69

    文章

    5117

    瀏覽量

    88903
  • nginx
    +關注

    關注

    0

    文章

    163

    瀏覽量

    12484

原文標題:總結

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Nginx核心功能深度解析

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

    Nginx緩存配置詳解

    Nginx 是一個功能強大的 Web 服務器和反向代理服務器,它可以用于實現靜態內容的緩存,緩存可以分為客戶端緩存和服務端緩存。
    的頭像 發表于 05-07 14:03 ?386次閱讀
    <b class='flag-5'>Nginx</b>緩存配置<b class='flag-5'>詳解</b>

    Nginx服務優化教程

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

    如何通過優化Nginx配置來提高網絡環境的安全性

    簡介:?在當今數字化時代,網絡安全至關重要。Nginx作為流行的Web服務器,不僅提供高性能,還具備強大的安全保障功能。然而,默認配置可能無法抵御所有安全威脅,因此對Nginx進行安全加固尤為重要
    的頭像 發表于 02-14 17:49 ?1367次閱讀

    nginx+lua+redis實現灰度發布

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

    Nginx代理轉發實戰:零基礎掌握服務器流量分發技巧

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

    Nginx日常運維方法Linux版

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

    詳解nginx中的正則表達式

    前言,我這里驗證的nginx-v1.23.2單機環境下的nginx中的正則表達式、location路徑匹配規則和優先級。
    的頭像 發表于 12-03 09:59 ?756次閱讀
    <b class='flag-5'>詳解</b><b class='flag-5'>nginx</b>中的正則表達式

    確保網站無縫運行:Keepalived高可用與Nginx集成實戰

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

    nginx隱藏版本號與WEB服務器信息

    nginx不僅可以隱藏版本信息,還支持自定義web服務器信息 先看看最終的隱藏結果吧 具體怎么實現呢,其實也很簡單,請往下看 1 官網下載最新穩定版 wget http://nginx
    的頭像 發表于 11-22 10:25 ?506次閱讀
    <b class='flag-5'>nginx</b>隱藏版本號與WEB服務器信息

    nginx負載均衡配置介紹

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

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

    前言,我這里驗證的nginx-v1.23.2單機環境下的nginx中的正則表達式、location路徑匹配規則和優先級。
    的頭像 發表于 09-29 16:02 ?1567次閱讀
    <b class='flag-5'>nginx</b>中的正則表達式和<b class='flag-5'>location</b>路徑<b class='flag-5'>匹配</b>指南

    Jtti:美國VPS開啟nginx狀態監控,查看web服務器的并發連接數

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

    nginx重啟命令linux步驟是什么?

      1、驗證nginx配置文件是否正確   方法一:進入nginx安裝目錄sbin下,輸入命令./nginx -t   看到如下顯示nginx
    發表于 07-11 17:13

    nginx重啟命令linux步驟是什么?

      1、驗證nginx配置文件是否正確   方法一:進入nginx安裝目錄sbin下,輸入命令./nginx -t   看到如下顯示nginx
    發表于 07-10 16:40