ngnix中location與proxy_pass配置規則


ngnix中location與proxy_pass配置規則
location配置用於匹配請求的URL,即ngnix中的$request_uri變量
proxy_pass配置用於轉發URL
loacation匹配順序

(location =) > (location 完整路徑) > (location ^~ 路徑) > (location ~,~* 正則順序) > (location 部分起始路徑) > (/)

location = /uri    =開頭表示精確匹配,只有完全匹配上才能生效。
location ^~ /uri   ^~ 開頭對URL路徑進行前綴匹配,並且在正則之前。
location ~ pattern  ~開頭表示區分大小寫的正則匹配。
location ~* pattern  ~*開頭表示不區分大小寫的正則匹配。
location /uri     不帶任何修飾符,也表示前綴匹配,但是在正則匹配之后,如果沒有正則命中,命中最長的規則。
location /      通用匹配,任何未匹配到其它location的請求都會匹配到,相當於switch中的default。

location與proxy_pass代理規則
location是否以“/”結尾
沒有“/”為模糊匹配,有“/”為精確匹配
proxy_pass是否以“/”結尾
在nginx中配置proxy_pass時,當在后面的url加上了/,相當於是絕對路徑,則nginx不會把location中匹配的路徑部分加入代理uri;如果沒有/,則會把匹配的路徑部分加入代理uri

如果被代理服務器是一組服務器的話,可以使用upstream指令配置后端服務器組。
 upstream proxy_name
   {
     server http://192.168.0.1/uri;
     server http://192.168.0.2/uri;
   }
server模塊
proxy_pass  proxy_name;
注意:如果組內的各個服務器都指明了傳輸協議 http:// ,那么在proxy_pass 指令中就不用指明了。反之也是如此。
傳送門

https://blog.csdn.net/oMaoYanEr/article/details/82557764


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM