【Nginx】Nginx如何配置指定接口的跳转

一、前言

      最近项目上线,做的是重构的项目,需要把老接口的流量切到新接口上,客户端一直访问的是老接口的url,没有办法改变,如果要做处理,就可以使用nginx把要访问的url跳转到新的接口上。

      比如:老接口要访问 http://gateway.io/getUserById , 请求从客户端传出来,到nginx的时候,如果不做处理,nginx就会访问对应机器。 如果不想这样,nginx可以做url跳转,就可以通过配置来访问其他的url。

二、Nginx是什么?

      如果没有接触过nginx的同学,可以看看小编以前写的博客。

                                    【Nginx】什么是Nginx?为什么使用Nginx?

      简单的说nginx 有两个作用 :

  1. 反向代理,流量跳转
  2. 做http服务器,做静态文件服务器

      这里我们用到的就是反向代理的功能。

三、如何配置指定接口跳转?

      Nginx 在 /etc/nginx/conf.d 路径下有 nginx.conf 文件:

在这里插入图片描述

server {
    listen       80;
    listen       [::]:80;
    server_name  api.ares.com;
    access_log  /opt/nginxlogs/api.ares.com/access_log main;
    error_log   /opt/nginxlogs/api.ares.com/error_log error;

        include /etc/nginx/conf.d/proxy-api-test7;

        location / {
                  proxy_pass      http://www.baidu.com;
                }
}    

      可以通过 include 文件全路径, 来指定文件 ,就不用把这个conf文件写的很长。可以把所有的跳转抽出来,方便修改,方便管理。而且方便管理。

      比如,我们配置了多个 server,每个server监听的是不同的域名。抽出文件后,就可以清楚的把每个域名的跳转指定到固定的文件中。

      jumpInfo文件,配置具体接口跳转信息

location ~* ^/Login/Record {
        rewrite  ^(.*)$ /fee-system/Login/record break;
        proxy_pass http://gateway.ares.com;
        proxy_set_header Host gateway.ares.com;
}
location ~* ^/User/status {
        rewrite  ^(.*)$ /user-system/user/status break;
       proxy_pass http://gateway.ares.com;
        proxy_set_header Host gateway.ares.com;
}
location ~* ^/Pay$ {
        rewrite  ^(.*)$ /fee-system/pay break;
        proxy_pass http://gateway.ares.com;
        proxy_set_header Host gateway.ares.com;
}

      这个文件就是 include /etc/nginx/conf.d/jumpInfo。配置的指定全路径的跳转信息文件。其实简单的也就是通过localtion来进行跳转的。

  • http:// api.ares.com/Login/Record 是访问的原路径

  • http:// api.ares.com/fee-system/Login/record 是访问的新路径

注意

/Pay$ 

      这里要说明一下这个,$表示是终止符,到这里就结束。 否则如果还有配置 /Pay/AAA 的这种,如果在后面,就会跳转到/Pay指定的url了。

      这样就完成了跳转

^(.*)$

      匹配所有的路径映射到入口文件

      ^是正则表达式匹配字符串开始位置

      $是正则表达式匹配字符串结束位置

四、小结

加油,重温一下。要保持热度。坚持就是胜利。

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你个佬六

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值