核心规则

Location 匹配规则

  • location /proj1/ :精确前缀匹配,要求路径以 /proj1/ 开头
  • location /proj1 :宽泛前缀匹配,/proj1/proj1//proj1abc 都会匹配

Proxy_pass 路径处理规则

proxy_pass 格式处理方式说明
http://... (无斜杠)保留完整路径location 匹配部分 + 剩余路径都转发
http://.../ (有斜杠)替换 location 匹配部分只转发 location 匹配后的剩余路径

一、后端有配置项目名

  • 后端
server:
  port: 8080
  servlet:
      context-path: /proj1
  • Nginx
location /proj1 {
	proxy_pass   http://localhost:8080;
}
#或者
location /proj1/ {
	proxy_pass   http://localhost:8080;
}

二、后端没有配置项目名

  • 后端
server:
  port: 8080
  • Nginx
location /proj1/ {
	proxy_pass   http://localhost:8080/;
}

访问http://localhost/proj1/test。

  • proxy_pass http://.../ 有斜杠,会替换掉 location 匹配的部分

  • /proj1/test中的/proj1/会被替换成/,剩余test部分