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 指令中就不用指明瞭。反之也是如此。
傳送門nginx

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

相關文章
相關標籤/搜索