国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Nginx快速入門:nginx各類轉(zhuǎn)發(fā)、代理配置詳解|location、proxy_pass參數(shù)詳解(五)

這篇具有很好參考價值的文章主要介紹了Nginx快速入門:nginx各類轉(zhuǎn)發(fā)、代理配置詳解|location、proxy_pass參數(shù)詳解(五)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

0. 引言

咱們上節(jié)講解了nginx的負(fù)載均衡配置,但是還有很多其他的轉(zhuǎn)發(fā)情況,包括不同路徑轉(zhuǎn)發(fā)至不同的業(yè)務(wù)服務(wù),通配符識別路徑轉(zhuǎn)發(fā)等。

今天一起來學(xué)習(xí)nginx的轉(zhuǎn)發(fā)配置

1. location模塊的匹配模式

首先我們要了解nginx進(jìn)行轉(zhuǎn)發(fā)代理的核心在于兩處,一是入口,二是出口;入口就是url路徑匹配識別對應(yīng)的路徑,出口就是轉(zhuǎn)發(fā)映射對應(yīng)的后臺服務(wù)地址
nginx 接口代理配置,# Nginx快速上手,nginx,數(shù)據(jù)庫,運(yùn)維

我們的入口路徑匹配識別都是在location模塊實(shí)現(xiàn)的,所以我們要首先認(rèn)識location支持的匹配模式。

所謂匹配模式,就是根據(jù)什么樣的路徑進(jìn)行匹配,比如識別到路徑以“/user”開頭的,則轉(zhuǎn)發(fā)至user-server服務(wù),那么“/user”就是我們的匹配路徑

location支持2種匹配模式:精確匹配(普通匹配)和模糊匹配(正則匹配),總共以下幾種呈現(xiàn)形式:

  • 1、全路徑精確匹配 =

進(jìn)行uri的全路徑精確匹配,要匹配的一模一樣的uri
比如 location = /index ,那么只有路徑為/index的才會匹配到

  • 2、前綴模糊匹配 ^~

進(jìn)行uri的前綴精確匹配
比如 location ^~ /user/ ,那么只要是路徑以/user/開頭的都會匹配到

  • 3、無匹配符號的精確匹配

沒有符號,按照路徑開頭精確匹配,但是匹配到后不會立即返回,還會繼續(xù)匹配其他普通匹配,如果匹配到,則會舍棄之前匹配的路徑
比如 location /user/ , 當(dāng)訪問/user/開頭時會匹配到
比如 location /user/admin,當(dāng)訪問/user/admin時會匹配到

  • 4、模糊匹配 ~

進(jìn)行uri的模糊匹配,區(qū)分大小寫,匹配到后不再進(jìn)行其他匹配
比如 location ~ /user/ ,當(dāng)路徑包含/user/時會匹配,比如/admin/user/或者/user/admin/
當(dāng)然也可以用正則表達(dá)式來表示匹配路徑:
比如 location ~ ^/user(.*)admin$,能夠匹配以/user開頭,admin結(jié)尾的路徑,.*表示的是任意字符

這里我們簡單測試一下,配置后我們訪問192.168.244.41/user/xxx/admin,發(fā)現(xiàn)是可以正常轉(zhuǎn)發(fā)至后臺的tomcat服務(wù)的,只是tomcat服務(wù)中沒有/user地址的接口,所以返回404

nginx 接口代理配置,# Nginx快速上手,nginx,數(shù)據(jù)庫,運(yùn)維
我們繼續(xù)訪問192.168.244.41/user/xxx,發(fā)現(xiàn)報的就是nginx的404了,這說明請求并沒有轉(zhuǎn)發(fā)到后臺tomcat中,說明沒有命中匹配。
nginx 接口代理配置,# Nginx快速上手,nginx,數(shù)據(jù)庫,運(yùn)維

  • 5、模糊匹配 ~*

進(jìn)行uri的模糊匹配,不區(qū)分大小寫,匹配到后不再進(jìn)行其他匹配,優(yōu)先級與~相同,按照先后順序優(yōu)先
比如 location ~ /USER/,當(dāng)路徑包含/USER/時會匹配,如果是/user/則不會,因?yàn)閰^(qū)分大小寫了

優(yōu)先級:
由高到低:= > ^~ > 其他,其他匹配根據(jù)先后順序,配置在前的越優(yōu)先

2. proxy_pass配置詳解

我們上述講解了匹配模式的書寫,匹配到了還要進(jìn)行合理的轉(zhuǎn)發(fā),而轉(zhuǎn)發(fā)模式的控制就是通過proxy_pass, 下面我們來看看proxy_pass的語法結(jié)構(gòu)

2.1 proxy_pass 的四種配置寫法

首先我們來回顧下proxy_pass的語法:

 proxy_pass url;

轉(zhuǎn)發(fā)地址url分為帶/和不帶/,帶杠的為絕對根路徑,會直接在路徑后拼接上不帶匹配路徑的轉(zhuǎn)發(fā)地址;如果沒有杠表示相對路徑,則會將匹配路徑也帶上進(jìn)行轉(zhuǎn)發(fā),我們舉例說明:

location /user/ {
    proxy_pass url;
}

訪問路徑固定為:http://192.168.244.21/user/index.html

  • 1、當(dāng)proxy_pass http://192.168.244.21:8080/

會跳轉(zhuǎn)至http://192.168.244.21:8080/index.html,帶/表示絕對路徑,匹配路徑/user/會被消除

  • 2、當(dāng)proxy_pass http://192.168.244.21:8080

會跳轉(zhuǎn)至http://192.168.244.21:8080/user/index.html,相對路徑,匹配路徑/user/不會被消除

  • 3、當(dāng)proxy_pass http://192.168.244.21:8080/admin/

會跳轉(zhuǎn)至http://192.168.244.21:8080/admin/index.html,匹配路徑/user/被消除,并且保留轉(zhuǎn)發(fā)路徑里的/admin/

  • 4、當(dāng)proxy_pass http://192.168.244.21:8080/admin

會跳轉(zhuǎn)至http://192.168.244.21:8080/adminindex.html,因?yàn)閜roxy_pass中也包含了/了,表示絕對路徑,所以/user/會被消除

總言之記住一點(diǎn),帶/表示絕對路徑,請求路徑中的匹配路徑(location)轉(zhuǎn)發(fā)時會被消除

2.2 server和location模塊中proxy_pass的區(qū)別

在server模塊中的proxy_pass只需要配置ip(或域名)和端口,相當(dāng)于端口轉(zhuǎn)發(fā);而在location中的proxy_pass,也就是我們更加常用的,可以配置域名、ip、端口、uri,此外還需要提供協(xié)議:http或https,相當(dāng)于地址轉(zhuǎn)發(fā)。

配置語法如下:

server {
    listen 80;
    proxy_responses 1;
    proxy_timeout 20s;
    proxy_pass xxx.com:8080;
    # proxy_pass 192.168.244.21:8080;
	
	location /user/ {
        proxy_pass http://192.168.244.21:8081;
    }
}

3. location匹配案例練習(xí)

  • 1、匹配匹配以.jsp結(jié)尾的路徑,將其轉(zhuǎn)發(fā)至端口為8080的tomcat服務(wù)

解析:要匹配以.jsp結(jié)尾,只需要默認(rèn)寫上.jsp即可,但是需要注意.是單一字符通配符,所以要添加\做轉(zhuǎn)義,才能表示成本身點(diǎn)的含義

server {
    listen 81;

    location ~ (.*)\.jsp {
       proxy_pass http://localhost:8080;
       proxy_set_header HOST $host;
       proxy_http_version 1.1;


    }
}

測試:

訪問ip:81/index.jsp,可以看到成功轉(zhuǎn)發(fā)到8080端口的tomcat了(這里提前修改了首頁,將端口顯示在tomcat首頁了)
nginx 接口代理配置,# Nginx快速上手,nginx,數(shù)據(jù)庫,運(yùn)維
去除點(diǎn)號訪問,發(fā)現(xiàn)訪問不通了,測試通過
nginx 接口代理配置,# Nginx快速上手,nginx,數(shù)據(jù)庫,運(yùn)維

  • 2、三臺不同的tomcat,端口分別為8080,8081,8083,分別承擔(dān)不同的業(yè)務(wù),將路徑以/user開頭的請求轉(zhuǎn)發(fā)至tomcat 8080, 以/order開頭的轉(zhuǎn)發(fā)至tomcat 8081, 路徑包含/product跳轉(zhuǎn)到tomcat 8083的首頁

解析:
該需求實(shí)際上一共有兩部分,/user,/order的配置都類似,我們使用^~即可,只有8083的需要用到的是跳轉(zhuǎn),也就是重定向到tomcat 8083首頁,這里需要用到return,大家暫時知道即可,下一章我們詳細(xì)講解重定向的配置。

server {
    listen 81;

    location ^~ /user {
       proxy_pass http://localhost:8080/;
       proxy_set_header HOST $host;
       proxy_http_version 1.1;

    }

     location ^~ /order {
       proxy_pass http://localhost:8081/;
       proxy_set_header HOST $host;
       proxy_http_version 1.1;

    }

    location ~* /product {
       return http://192.168.244.41:8083/index.jsp;

    }

}

測試:
1、訪問/order/index.jsp, /user/index.jsp都成功轉(zhuǎn)發(fā)對應(yīng)服務(wù)
nginx 接口代理配置,# Nginx快速上手,nginx,數(shù)據(jù)庫,運(yùn)維

nginx 接口代理配置,# Nginx快速上手,nginx,數(shù)據(jù)庫,運(yùn)維
2、訪問/product/xxx,也成功跳轉(zhuǎn)到tomcat 8083首頁了,測試通過。
nginx 接口代理配置,# Nginx快速上手,nginx,數(shù)據(jù)庫,運(yùn)維

4. 總結(jié)

上述案例我們講解到了需要重定向跳轉(zhuǎn)的問題,上述案例中可以看到我們重定向后地址欄的地址也發(fā)生了變化,這實(shí)際上也暴露了一些后臺服務(wù)的地址信息,如果我們想地址不變化,內(nèi)容進(jìn)行轉(zhuǎn)發(fā)即可,要怎么實(shí)現(xiàn)呢?

這就需要詳細(xì)學(xué)習(xí)nginx 重定向的內(nèi)容,下一章我們將針對這塊內(nèi)容繼續(xù)攻克。文章來源地址http://www.zghlxwxcb.cn/news/detail-806780.html

到了這里,關(guān)于Nginx快速入門:nginx各類轉(zhuǎn)發(fā)、代理配置詳解|location、proxy_pass參數(shù)詳解(五)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 內(nèi)網(wǎng)nginx代理到外網(wǎng)nginx(nginx之間的轉(zhuǎn)發(fā)操作)

    nginx的基本常用命令 ./nginx -t - nginx刷新配置重啟 ./nginx -s reload (2)掛載信息查看 -- df -h 掛載目錄查看,/etc/ nginx服務(wù)器之間的配置轉(zhuǎn)發(fā)操作 最重要的部分 (設(shè)置外層的nginx的 proxy_set_header Host ‘此處寫入內(nèi)層nginx監(jiān)聽的域名加端口’;) 本例子中是: proxy_set_header Host ‘test.piccl

    2023年04月22日
    瀏覽(29)
  • Nginx反向代理配置模塊詳解

    隨著互聯(lián)網(wǎng)的發(fā)展,Web 應(yīng)用越來越廣泛,隨之而來的是對 Web 服務(wù)器的高并發(fā)、高可用、高性能等需求的日益增長。Nginx 作為一個高性能的 HTTP 和反向代理服務(wù)器,由于其出色的性能和穩(wěn)定性,越來越受到人們的青睞。本篇文章將詳細(xì)講解 Nginx 中的反向代理功能及其配置方法

    2024年01月23日
    瀏覽(18)
  • 用Nginx做端口轉(zhuǎn)發(fā)(反向代理)

    本文中,我們介紹Nginx如何做端口轉(zhuǎn)發(fā),還有各種轉(zhuǎn)發(fā)規(guī)則 首先介紹最常用的,將域名轉(zhuǎn)發(fā)到本地另一個端口上 這樣訪問?http://tomcat.shaochenfeng.com?時就會轉(zhuǎn)發(fā)到本地的 8080 端口

    2024年02月14日
    瀏覽(23)
  • nginx 反向代理服務(wù)器端口轉(zhuǎn)發(fā)問題

    nginx 反向代理服務(wù)器端口轉(zhuǎn)發(fā)問題

    先介紹一下項(xiàng)目背景,公司里有個外包Saas項(xiàng)目,這里假設(shè)為A項(xiàng)目( 前后端不分離 );項(xiàng)目架構(gòu)大概如下;但是項(xiàng)目部署到生產(chǎn)環(huán)境時,那臺服務(wù)器80端口被其他應(yīng)用占用了(我尼瑪...),nginx監(jiān)聽端口那邊只能監(jiān)聽其他端口了,比如監(jiān)聽:18000,通過nginx反向代理將18000端口轉(zhuǎn)發(fā)到

    2024年02月04日
    瀏覽(25)
  • Nginx 【location配置路徑詳解、反向代理、負(fù)載均衡】

    在使用nginx時,我們配置最多的就是location項(xiàng)了。方向代理、負(fù)載均衡、靜態(tài)資源服務(wù)器這些高頻使用的共能點(diǎn),幾乎主要都在location配置。本文內(nèi)容將包含上訴功能,并詳細(xì)介紹location的匹配規(guī)則。 location的匹配語法分成兩個部分, [] 括號中的時匹配符,決定以何種方式進(jìn)行

    2024年02月03日
    瀏覽(25)
  • nginx如何代理轉(zhuǎn)發(fā)第三方https網(wǎng)站

    這里準(zhǔn)備官方nginx鏡像 上訴示例中,如果是https,proxy_ssl_session_reuse ,proxy_ssl_server_name ,這兩個沒有會報ssl SSL_do_handshake() failed SSL_do_handshake() failed (SSL: error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:SSL alert number 40) while SSL handshaking to upstream, client: 127.0.0.1, server: 127

    2024年02月13日
    瀏覽(19)
  • Nginx使用 代理轉(zhuǎn)發(fā)Windows遠(yuǎn)程桌面RDP功能

    Nginx使用 代理轉(zhuǎn)發(fā)Windows遠(yuǎn)程桌面RDP功能

    一、業(yè)務(wù)需求 B是服務(wù)器192.168.31.200,A電腦192.168.31.100是跳板機(jī),只有A這臺電腦可以遠(yuǎn)程桌面訪問B服務(wù)器?,F(xiàn)在需要通過一臺遠(yuǎn)程這臺跳板機(jī),間接實(shí)現(xiàn)對服務(wù)器B的遠(yuǎn)程訪問。 二、配置nginx 在A電腦上安裝Nginx,配置文件添加如下配置項(xiàng): 注意:如果有多個stream模塊需要設(shè)置

    2024年02月15日
    瀏覽(21)
  • nginx七層代理和四層轉(zhuǎn)發(fā)的理解

    nginx七層代理和四層轉(zhuǎn)發(fā)的理解

    先來理解一下osi七層模型 在了解一下接收數(shù)據(jù)包的工作流程 在防火墻接收到數(shù)據(jù)包后,因?yàn)橛玫氖荄NAT端口映射功能,所以用的是四層轉(zhuǎn)發(fā),按照osi七層模型從下往上拆包到四層,根據(jù)DNAT規(guī)則轉(zhuǎn)發(fā)到后端的nginx上,nginx用的是HTTP七層代理,所以需要繼續(xù)從四層拆包到七層,在

    2024年02月13日
    瀏覽(13)
  • Netty服務(wù)如何使用Nginx代理轉(zhuǎn)發(fā)請求并獲得原始IP

    Nginx啟用stream模塊,示例如下: 示例,代理遠(yuǎn)端8080的netty服務(wù)。 注意,獲得原始客戶端的IP關(guān)鍵配置在于: proxy_protocol on; 這一行配置。如果不配置,在netty服務(wù)端是無法獲得原始客戶端ip,但是配置上之后,netty需要調(diào)整代碼。 代理http協(xié)議的時候,可以通過增加X-Forwarded-Fo

    2024年02月06日
    瀏覽(22)
  • Nginx快速入門:return、rewrite重定向、重寫詳解(六)

    Nginx快速入門:return、rewrite重定向、重寫詳解(六)

    我們在日常的生產(chǎn)過程中,常常有需要重定向轉(zhuǎn)發(fā)的需求,比如企業(yè)更換了域名,但又要保證之前的域名能訪問,這就需要做重定向的跳轉(zhuǎn)。 我們在之前的章節(jié)中學(xué)習(xí)了Nginx的負(fù)載均衡、各類轉(zhuǎn)發(fā)代理配置,今天繼續(xù)來補(bǔ)充關(guān)于轉(zhuǎn)發(fā)的的最后一個環(huán)節(jié)——重定向(或稱跳轉(zhuǎn))

    2024年02月20日
    瀏覽(14)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包