在nginx中配置proxy_pass時(shí),當(dāng)在后面的url加上了/,相當(dāng)于是絕對(duì)根路徑,則nginx不會(huì)把location中匹配的路徑部分代理走;如果沒(méi)有/,則會(huì)把匹配的路徑部分也給代理走。
下面四種情況分別用 http://192.168.1.4/proxy/test.html 進(jìn)行訪問(wèn)。
第一種
location /proxy/ {
proxy_pass http://127.0.0.1:81/;
}
會(huì)被代理到 http://127.0.0.1:81/test.html 這個(gè)url
第二咱(相對(duì)于第一種,最后少一個(gè) / ) (proxy_pass 參數(shù)中如果不包含url的路徑,則會(huì)將location的pattern識(shí)別的路徑作為絕對(duì)路徑。)
location /proxy/ {
proxy_pass http://127.0.0.1:81;
}
會(huì)被代理到 http://127.0.0.1:81/proxy/test.html 這個(gè)url
第三種:
location /proxy/ {
proxy_pass http://127.0.0.1:81/ftlynx/;
}
會(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;
}
會(huì)被代理到 http://127.0.0.1:81/ftlynxtest.html 這個(gè)url