首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Nginx根据ip进行灰度发布

Nginx根据ip进行灰度发布

作者头像
院长技术
发布2020-06-11 22:32:27
发布2020-06-11 22:32:27
1.1K0
举报
文章被收录于专栏:院长运维开发院长运维开发

介绍 之前公司做的都是蓝绿发布,但是有的开发想着又能实现根据来源ip做灰度,又能实现蓝绿发布,在这里我写了下简单的实现方式。

解决办法 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。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档