location匹配路径,而匹配的上下文路径是否带走主要看proxy_pass。
proxy_pass 配置的地址只有域名+端口(例如:https://www.baidu.com 或 http://127.0.0.1:3000),域名+端口 后面不带 / 则带走上下文路径,主域名后面带 / 则不带走上下文路径。
例如:
http://127.0.0.1/users 代理到 http://127.0.0.1:3000/users (带走上下文路径)
location /users {proxy_pass http://127.0.0.1:3000;
}
http://127.0.0.1/users/代理到 http://127.0.0.1:3000/ (不带走上下文路径)
location /users/ {proxy_pass http://127.0.0.1:3000/;
}
proxy_pass 配置的地址有域名+端口+路径(例如:https://www.baidu.com/s 或 http://127.0.0.1:3000/users),相当于域名+端口后面带了 / ,所以不带走上下文路径。
例如:
http://127.0.0.1/users 代理到 http://127.0.0.1:3000/users (不带走上下文路径)
location /users {proxy_pass http://127.0.0.1:3000/users;
}
http://127.0.0.1/person 代理到 http://127.0.0.1:3000/users (不带走上下文路径)
location /person {proxy_pass http://127.0.0.1:3000/users;
}