你好,游客 登录 注册 搜索
背景:
阅读新闻

Nginx根据客户端版本号跳转至后台相应服务器

[日期:2017-08-22] 来源:Linux社区  作者:sqtce [字体: ]

Nginx通过客户端的APP版本号来判定跳转后台对应的版本号的服务器,配置如下:

upstream appserver{
      server 10.9.14.1:799  weight=5;
    }
    server {
      listen 80;
      server_name uatv2.yaok.com;
      charset utf-8;
      access_log  logs/uat.yaok.com.log  logstash_json;
      location ^~ /appapi/ {
              set $newIp "10.7.4.49:8180"; 
              if ($http_appVersion  = "1.4.0"){
                  set $newIp "10.9.54.128:799";
              }
#以上代码意思是,如果客户端版本是1.4.0,则跳转至10.9.54.128:799,否则跳转至10.7.4.49:8180这台服务器
                proxy_pass "http://$newIp";
                proxy_redirect off;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      }
      location ^~ /pay/ {
                proxy_pass http://appserver/pay/;
                proxy_redirect off;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        location ^~ /uploadapi/ {

                proxy_pass http://appserver/uploadapi/;
                proxy_redirect off;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        location / {
          rewrite ^/(.*)$ //$1 last;
      }
#这段要放在未尾才能跳转成功
    }

检查结果:

版本为1.4.0的返回的状态码为200,1.4.0有这个接口

版本不是为1.4.0的返回404状态码。
因为两个版本的接口不一样,所以返回的状态码不一样

Nginx 403 forbidden的解决办法  http://www.linuxidc.com/Linux/2017-08/146084.htm

CentOS 7下Nginx服务器的安装配置  http://www.linuxidc.com/Linux/2017-04/142986.htm

CentOS上安装Nginx服务器实现虚拟主机和域名重定向  http://www.linuxidc.com/Linux/2017-04/142642.htm

CentOS 6.8 安装LNMP环境(Linux+Nginx+MySQL+PHP)  http://www.linuxidc.com/Linux/2017-04/142880.htm

Linux下安装PHP环境并配置Nginx支持php-fpm模块  http://www.linuxidc.com/Linux/2017-05/144333.htm

Nginx服务的SSL认证和htpasswd认证  http://www.linuxidc.com/Linux/2017-04/142478.htm

Ubuntu 16.04上启用加密安全的Nginx Web服务器  http://www.linuxidc.com/Linux/2017-07/145522.htm

Linux中安装配置Nginx及参数详解  http://www.linuxidc.com/Linux/2017-05/143853.htm

Nginx日志过滤 使用ngx_log_if不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm

CentOS 7.2下Nginx+PHP+MySQL+Memcache缓存服务器安装配置  http://www.linuxidc.com/Linux/2017-03/142168.htm

CentOS6.9编译安装Nginx1.4.7  http://www.linuxidc.com/Linux/2017-06/144473.htm

Nginx 的详细介绍请点这里
Nginx 的下载地址请点这里

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-08/146435.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款