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状态码。
因为两个版本的接口不一样,所以返回的状态码不一样
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根据客户端版本号跳转至后台相应服务器
- --with-http_realip_module选项(后台Nginx服务器记录原始客户端的IP地址 )
- nginx实现根据二级域名跳转到同一服务器的不同端口
- nginx根据客户端ip地理位置转发到不同服务器上(Geoip+nginx)
- 用nginx做ws代理,并根据url参数选择后台服务器
- 根据邮箱的域名跳转到相应的登录页面的代码
- 客户端跳转与服务器跳转
- 根据验证邮箱的域名跳转到相应的登录页面
- DropDownList 根据客户端的选择执行相关后台代码!
- 批处理根据星期自动备份到服务器的相应文件夹
- nginx根据访问终端跳转页面
- nginx配置SSL实现服务器/客户端双向认证
- nginx 根据不同URL分发到不同服务器
- nginx配置SSL实现服务器/客户端双向认证
- 用PHP判断客户端浏览器语言并跳转到相应的网页
- 伪装隐藏Nginx,PHP版本号提升服务器安全性
- 搭建一个后台服务器--客户端
- 从404错误认识到服务器跳转与客户端跳转 两者相对路径的区别
- 服务器或客户端网页跳转代码
- nginx自定义模块编写-根据post参数路由到不同服务器