Nginx代理proxy pass配置去除前缀

两种方案

  1. proxy_pass 地址后面加根路径 /
  2. rewrite 改写请求

proxy_pass http://127.0.0.1:8080;
后面没有根路径 /,直接替换域名。 访问rumen.com/api/a/b.html, 要求转发到127.0.0.1:8080/api/a/b.html

去掉前缀

 目标 : 访问rumen.com/api/a/b.html, 要求转发到127.0.0.1:8080/a/b.html

1.加上根路径 /
location ^~/api/ {
#^~/api/ 表示匹配前缀是api 的请求,proxy_pass的结尾有/, 则会把/api/* 后面的路径直接拼接到后面,即移除api.
    proxy_set_header Host $host;
    proxy_pass  #加上跟路径 / 
}
2.rewrite
location ^~/api/ {
   proxy_set_header Host $host;
   rewrite ^/api/(.*)$ /$1 break;
   proxy_pass  #没有根路径 
}
返回笔记列表
入门小站