nginx配置proxy_pass時url末尾帶“/”與不帶“/”的區(qū)別如下:
注意:當(dāng)location為正則表達(dá)式匹配模式時,proxy_pass中的url末尾是不允許有"/"的,因此正則表達(dá)式匹配模式不在討論范圍內(nèi)。
proxy_pass配置中url末尾帶/時,nginx轉(zhuǎn)發(fā)時,會將原uri去除location匹配表達(dá)式后的內(nèi)容拼接在proxy_pass中url之后。
測試地址:http://192.168.171.129/test/tes.jsp
場景一:
location ^~ /test/ {
proxy_pass http://192.168.171.129:8080/server/;
}
代理后實際訪問地址:http://192.168.171.129:8080/server/tes.jsp
場景二:
location ^~ /test {
proxy_pass http://192.168.171.129:8080/server/;
}
代理后實際訪問地址:http://192.168.171.129:8080/server//tes.jsp
場景三:
location ^~ /test/ {
proxy_pass http://192.168.171.129:8080/;
}
代理后實際訪問地址:http://192.168.171.129:8080/tes.jsp
場景四:
location ^~ /test {
proxy_pass http://192.168.171.129:8080/;
}
代理后實際訪問地址:http://192.168.171.129:8080//tes.jsp
proxy_pass配置中url末尾不帶/時,如url中不包含path,則直接將原uri拼接在proxy_pass中url之后;如url中包含path,則將原uri去除location匹配表達(dá)式后的內(nèi)容拼接在proxy_pass中的url之后。
測試地址:http://192.168.171.129/test/tes.jsp
場景一:
location ^~ /test/{
proxy_pass http://192.168.171.129:8080/server;
}
代理后實際訪問地址:http://192.168.171.129:8080/servertes.jsp
場景二:
location ^~ /test {
proxy_pass http://192.168.171.129:8080/server;
}
代理后實際訪問地址:http://192.168.171.129:8080/server/tes.jsp
場景三:
location ^~ /test/ {
proxy_pass http://192.168.171.129:8080;
}
代理后實際訪問地址:http://192.168.171.129:8080/test/tes.jsp
場景四:
location ^~ /test {
proxy_pass http://192.168.171.129:8080;
}
代理后實際訪問地址:http://192.168.171.129:8080/test/tes.jsp
到此這篇關(guān)于nginx配置proxy_pass中url末尾帶/與不帶/的區(qū)別詳解的文章就介紹到這了,更多相關(guān)nginx proxy_pass url末尾內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!