nginx中的proxy_pass有uri问题
nginx中proxy_pass中如果带有uri那么location中的匹配的将会被替换掉,如果不带uri那么·proxy_pass将会替换掉location所匹配的前面的东西
例子:
proxy_pass没带路径
server {
listen 8080;
server_name localhost;
location /get {
proxy_pass http://localhost:3000;
}
#或者
location /get/ {
proxy_pass http://localhost:3000;
}
#结果都是 将http://localhost:8080/get/test转发去http://localhost:3000/get/test
}
proxy_pass带uri(/及后面的都成为uri)
server {
listen 8080;
server_name localhost;
location /get {
# 结果是 将http://localhost:8080/get/test转发去http://localhost:3000//test,出错~
proxy_pass http://localhost:3000/;
}
#或者
location /get/ {
# 结果是 将http://localhost:8080/get/test转发去http://localhost:3000/test
proxy_pass http://localhost:3000/;
}
}