在nginx中配置proxy_pass時(shí),當(dāng)在后面的url加上了/,相當(dāng)于是絕對(duì)根路徑英岭,則nginx不會(huì)把location中匹配的路徑部分代理走;如果沒有/土居,則會(huì)把匹配的路徑部分也給代理走。?
?????首先是location進(jìn)行的是模糊匹配
????1)沒有“/”時(shí)颓芭,location?/abc/def可以匹配/abc/defghi請(qǐng)求,也可以匹配/abc/def/ghi等
????2)而有“/”時(shí),location?/abc/def/不能匹配/abc/defghi請(qǐng)求堂污,只能匹配/abc/def/anything這樣的請(qǐng)求
下面四種情況分別用http://192.168.1.4/proxy/test.html 進(jìn)行訪問。
第一種:
location ?/proxy/ {
proxy_pass http://127.0.0.1:81/;
}
結(jié)論:會(huì)被代理到http://127.0.0.1:81/test.html?這個(gè)url
第二種(相對(duì)于第一種龄砰,最后少一個(gè) /)
location ?/proxy/ {
proxy_pass http://127.0.0.1:81;
}
結(jié)論:會(huì)被代理到http://127.0.0.1:81/proxy/test.html?這個(gè)url
第三種:
location ?/proxy/ {
proxy_pass http://127.0.0.1:81/ftlynx/;
}
結(jié)論:會(huì)被代理到http://127.0.0.1:81/ftlynx/test.html?這個(gè)url盟猖。
第四種(相對(duì)于第三種,最后少一個(gè) / ):
location ?/proxy/ {
proxy_pass http://127.0.0.1:81/ftlynx;
}
結(jié)論:會(huì)被代理到http://127.0.0.1:81/ftlynxtest.html?這個(gè)url