1. proxy_pass 配置的url后面,不加'/',那么重定向后,追加location后的路径。
比如server_name: 10.9.11.225
location /proxy1/{
proxy_pass http://10.9.11.166:8540/;
}
location  /proxy2/ {
          proxy_pass http://10.9.11.166:8540/haha/;
}
如果访问 10.9.11.225/proxy1/   会代理到http://10.9.11.166:8540/
如果访问 10.9.11.225/proxy2/   会代理到http://10.9.11.166:8540/haha/

2. 如果proxy_pass配置的url后面,不加'/',那么重定向后,整个替换location后的路径。
location /proxy3/{
proxy_pass http://10.9.11.166:8540;
}
location  /proxy4/ {
          proxy_pass http://10.9.11.166:8540/haha;
}
访问http://10.9.11.225/proxy/就会被反向代理到http://10.9.11.166:8540/proxy/
访问http://10.9.11.225/proxy4/index.html就会被反向代理到http://10.9.11.166:8540/hahaindex.html

3.rewrite 参数简介

location /momo/{

  rewrite ^/momo/?(.*) /$1 break;

  proxy_pass http://front;

  ...

}

uri>>>lixiaoxuan.com/momo/test/hello? 重定向到了哪里?
是front/momo/test/hello......吗?   答案是错误的,因为有一个rewrite,这个配置又是干啥的?
基本语法: rewrite regex replacement [flag];
上下文:server, location, if
flag:break,重写后,不发起新的请求,直接往下走

匹配'/maimai/'重写后,uri变成了front/test/hello?
再根据front配置重定向到其他

 

相关文章:

  • 2021-07-17
  • 2022-12-23
  • 2022-12-23
  • 2022-02-06
  • 2022-12-23
  • 2021-08-14
  • 2022-02-28
  • 2021-05-21
猜你喜欢
  • 2021-11-05
  • 2021-06-09
  • 2022-12-23
  • 2021-10-14
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案