1. 程式人生 > 其它 >NGINX配置 —— location 與 proxy_pass的url後 加與不加 / 的區別

NGINX配置 —— location 與 proxy_pass的url後 加與不加 / 的區別

請求網站為:192.168.1.123:80/static/a.html
conf 配置檔案

server{
port  80,
server name  192.168.1.123

location /static{
proxy_pass  192.168.2.321:81
}

location /static{
proxy_pass  192.168.2.321:81/
}

location /static/{
proxy_pass  192.168.2.321:81
}

location /static/{
proxy_pass  192.168.2.321:81/
}


第一種 location後無 /

proxy_pass後無 /

#192.168.1.123->server name
# :80 ---------> port
#/statc ------->location
#/a.html ------>proxy_pass 

location /static{
proxy_pass  192.168.2.321:81
}

最後網址經過nginx轉向到的網址是 192.168.2.321:81/static/a.html


第二種 location後無 / proxy_pass後有 /

#192.168.1.123---->server name
# :80 ------------> port
#/statc ---------->location
#/a.html --------->proxy_pass 

location /static{
proxy_pass  192.168.2.321:81/
}

最後網址經過nginx轉向到的網址是 192.168.2.321:81/a.html


第三種 location後有 / proxy_pass後無 /

#192.168.1.123-->server name
# :80 ------------> port
#/statc/ ---------->location
#a.html --------->proxy_pass 

location /static/{
proxy_pass  192.168.2.321:81
}

最後網址經過nginx轉向到的網址是 192.168.2.321:81/static/a.html


第四種 location後有 / proxy_pass後有 /

#192.168.1.123-->server name
# :80 ------------> port
#/statc/ ---------->location(path1)
#a.html --------->proxy_pass (path2)

location /static/{
proxy_pass  192.168.2.321:81/
}
最後網址經過nginx轉向到的網址是 192.168.2.321:81/a.html


總結:
當proxy_pass內容是 ip:port/ 時nginx最後代理到的網址是 proxy_pass(內容)
當proxy_pass內容是 ip:port  時nginx最後代理到的網址是 location(內容) + proxy_pass(內容)

location內容是什麼不太影響結果

本文轉自 https://www.cnblogs.com/baixing/p/15847820.html,如有侵權,請聯絡刪除。