新聞中心
Nginx中的proxy_pass該怎么設(shè)置,針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
新會ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
Nginx很適合用做反向代理[ Reverse-Proxy]的,主要原因有以下幾點。
Nginx的高性能特性,可以Hold住更多的連接數(shù)。
更加成熟的面向互聯(lián)網(wǎng)的設(shè)計,可以增強后端服務(wù)器的安全性。
可以方便的對性能進行橫向擴展,增強數(shù)據(jù)處理能力。
基于以上優(yōu)點,那么該如何正確的配置Nginx反向代理?
分為兩種情況
第一種情況: proxy_pass后面的指定帶有URI
被location所匹配的URI將會被proxy_pass后面的URI所替換。舉例如下,
location /requested-uri/ {
proxy_pass http://example.com/backend/;
}
此時,如果請求的連接是, http://proxy-ip/requested-uri/a.html,則傳輸?shù)胶蠖说穆窂骄蜁兂?,http://example.com/backend/a.html
驗證如下:
場景:在tomcat上創(chuàng)建了兩個鏈接,分別是http://10.2.0.51:8000/zzp/app1 和 http://10.2.0.51:8000/zzp/app2
兩個鏈接分別顯示不同的內(nèi)容,app1 和 app2
然后我們在nginx中配置如下:
location /zzy/ {
proxy_pass http://10.2.0.51:8000/zzp/;
}
這時,我們訪問http://10.2.0.51/zzy/app1 時,就會發(fā)現(xiàn)會得到app1 ,說明zzy這個URI被zzp替換了。
第二種情況: proxy_pass后面不帶URI時,則URI直接傳輸給了后端服務(wù)器。舉例如下,
location /requested-uri/ {
proxy_pass http://example.com;
}
此時如果請求的連接是,http://proxy-ip/requested-uri/a.html,則傳輸?shù)胶蠖说穆窂骄蜁兂?,http://example.com/requested-uri/a.html
驗證如下:
接上個例子,我們在proxy_pass中不帶有uri,此時我們訪問zzy這個uri時,就會發(fā)現(xiàn),404錯誤。
location /zzy/ {
proxy_pass http://10.2.0.51:8000;
}
修改配置如下,
location /zzp/ {
proxy_pass http://10.2.0.51:8000;
}
訪問http://10.2.0.51/zzp/app1時,就調(diào)整好了。
Exceptions:
凡事總有例外,Nginx也是這樣。
特特例:1.1.12之前的版本,在某些情況下,不帶URI的proxy_pass指令會被一些指令所取代。
一般特例:
當location后面帶有正則表達式的時候,此時proxy_pass后面不帶URI。
因為,如果location在有正則表達式的時候,nginx無法確定哪個部分的URI和表達式匹配。
當URI被用rewrite指令修改的時候,并且同樣的配置將被用于處理一個請求。例如,這個好繞口。Boring
location /name/ {
rewrite /name/([^/]+) /users?name=$1 break;
proxy_pass http://127.0.0.1;
}
當prox_pass中使用了變量的時候,將會被以下替換。
location /name/ {
proxy_pass http://127.0.0.1$request_uri;
}
總而言之,只要我們不觸碰exceptions發(fā)生的條件,我們就能達到自己的目的,如果不小心出現(xiàn)exceptions,那就來這里研究吧。
Basic is import , and should be studied in details.
關(guān)于Nginx中的proxy_pass該怎么設(shè)置問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。
分享名稱:Nginx中的proxy_pass該怎么設(shè)置
文章URL:http://fisionsoft.com.cn/article/jghoei.html