天天看點

nginx中的proxy_pass配置

Nginx 是最常用的反向代理工具之一,一個指令 proxy_pass搞定反向代理,對于接口代理、負載均衡很是實用,但 proxy_pass指令後面的參數很有講究,通常一個/都可能引發一個血案。

通常nginx配置proxy_pass指令時,如果proxy_pass後面的url加/,表示絕對根路徑;如果沒有/,表示相對路徑,把比對的路徑部分代理上。

假設下面四種情況分别用 ​​http://192.168.1.1/proxy/test.html​​ 進行通路。

第一種:

location /proxy/ {
proxy_pass http://127.0.0.1/;
}
代理到URL:http://127.0.0.1/test.html      

第二種(相對于第一種,最後少一個 / )

location /proxy/ {
proxy_pass http://127.0.0.1;
}
代理到URL:http://127.0.0.1/proxy/test.html      

第三種:

location /proxy/ {
proxy_pass http://127.0.0.1/aaa/;
}
代理到URL:http://127.0.0.1/aaa/test.html      

第四種(相對于第三種,最後少一個 / )

location /proxy/ {
proxy_pass http://127.0.0.1/aaa;
}
代理到URL:http://127.0.0.1/aaatest.html