Nginx代理代理通过配置去除前缀的实现

  

目录
  

  
      <李>一个种方案是proxy_pass后面加根路径/?/李>   <李>另一种方案是使用重写李   
  

使用Nginx做代理的时候,可以简单的直接把请求原封不动的转发给下一个服务。

  

比如,访问abc.com/appv2/a/b.html,要求转发到localhost: 8088/appv2//b.html

  

简单配置如下:

        上游>   服务器{   听80;   server_name abc.com;   access_log“管:回滚/数据/日志/nginx/访问。日志间隔=1 d baknum=7最大尺寸=1 g”主要;      位置^ ~/user/{   proxy_set_header主机主机美元;   proxy_set_header X-Real-IP remote_addr美元;   proxy_set_header X-Forwarded-For proxy_add_x_forwarded_for美元;   proxy_set_header X-NginX-Proxy正确;      proxy_pass http://user/;   }      位置^ ~/订单/{   proxy_set_header主机主机美元;   proxy_set_header X-Real-IP remote_addr美元;   proxy_set_header X-Forwarded-For proxy_add_x_forwarded_for美元;   proxy_set_header X-NginX-Proxy正确;      proxy_pass http://order/;   }      }      之前      

^ ~/user/表示匹配前缀是用户的请求,proxy_pass的结尾有/,则会把/user/*后面的路径直接拼接到后面,即移除用户。

  


  

        上游用户{   服务器localhost: 8089重量=5;   }   上游顺序{   服务器localhost: 8090重量=5;   }         服务器{   听80;   server_name abc.com;   access_log“管:回滚/数据/日志/nginx/访问。日志间隔=1 d baknum=7最大尺寸=1 g”主要;      位置^ ~/user/{   proxy_set_header主机主机美元;   proxy_set_header X-Real-IP remote_addr美元;   proxy_set_header X-Forwarded-For proxy_add_x_forwarded_for美元;   proxy_set_header X-NginX-Proxy正确;      重写^/user/(. *) $/$ 1打破;   proxy_pass http://user;   }      位置^ ~/订单/{   proxy_set_header主机主机美元;   proxy_set_header X-Real-IP remote_addr美元;   proxy_set_header X-Forwarded-For proxy_add_x_forwarded_for美元;   proxy_set_header X-NginX-Proxy正确;      重写^/订单/(. *)$/$ 1打破;   proxy_pass http://order;   }      }      之前      

注意到proxy_pass结尾没有/,重写重写了url。

  

<>强关于重写

        语法:重写正则表达式替换(国旗)   默认值:-   背景:服务器位置,如果      之前      

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

Nginx代理代理通过配置去除前缀的实现