您的位置:首页 > 运维架构 > Nginx

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

2017-03-07 18:18 323 查看
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状态码。
因为两个版本的接口不一样,所以返回的状态码不一样
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息