前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nginx根据ip进行灰度发布

nginx根据ip进行灰度发布

作者头像
SY小站
发布2020-06-15 14:55:21
9350
发布2020-06-15 14:55:21
举报
文章被收录于专栏:SY小站的专栏

1. 介绍

之前公司做的都是蓝绿发布,灰度也就是基于header,cookie,url,query等等的,但是有的开发想着又能实现根据来源ip做灰度,又能实现蓝绿发布,在这里我写了下简单的实现方式。

2. 解决办法

nginx 负载均衡器判断客户端IP地址,如果是办公室IP,则反向代理到灰度环境;如果不是,则反向代理到生产环境。

下面是一个域名多项目的事例:

代码语言:javascript
复制
server {
    listen       80;
    server_name  sy.test.com;


    add_header X-Cache $upstream_cache_status;
    charset utf-8;
    access_log /data/nginxlog/sy.test.com.log;
    set $web_backend tomcat-test-scm-v1;
    if ($remote_addr ~ "x.x.x.x") {
        set $web_backend tomcat-test-scm-v2;
    }
    if ($remote_addr ~ "x.x.x.x") {
        set $web_backend tomcat-test-scm-v2;
    }
    set $hd_backend live-v1;
    if ($remote_addr ~ "x.x.x.x") {
        set $hd_backend live-v2;
    }
    if ($remote_addr ~ "x.x.x.x") {
        set $hd_backend live-v2;
    }
    location ~ ^/live {
        proxy_redirect  off;
        proxy_set_header Host  $host;
        proxy_pass      http://$hd_backend;
    }

    location ~ / {
        proxy_redirect  off;
        proxy_pass      http://$web_backend;
    }
}

实现效果,办公网访问的是灰度的v2版本,当测试通过,只需将v1版本替换成v2。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SY技术小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 介绍
  • 2. 解决办法
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档