使用Nginx+Lua实现Web项目的灰度发布

Linux公社

 

 

首页服务器应用

背景:

阅读新闻

使用Nginx+Lua实现Web项目的灰度发布

[日期:2012-10-02]   来源:Linux社区  作者:cerxp   [字体:]  

1.问题:小团队,快速迭代开发,版本发布没有经过测试就要放出去,怎样在内网测试过后在外网能在真实环境让内部人员再过一次测试且不影响外网用户

2.实现思想:

a.至少要有两台机器

b.公司是统一出口IP

c.根据IP将请求转发到不同的机器

3.nginx配制:

location / {
content_by_lua '
            myIP = ngx.req.get_headers()["X-Real-IP"]
            if myIP == nil then
                myIP = ngx.req.get_headers()["x_forwarded_for"]
            end
            if myIP == nil then
                myIP = ngx.var.remote_addr
            end
            if myIP == "公司出口IP" then
                ngx.exec("@client")
            else
                ngx.exec("@client_test")
            end
        ';
}

location @client{
    proxy_next_upstream    error timeout;
    proxy_redirect          off;
    proxy_set_header        Host $host;
    #proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Real-IP $http_x_forwarded_for;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    client_max_body_size    100m;
    client_body_buffer_size 256k;
    proxy_connect_timeout  180;
    proxy_send_timeout      180;
    proxy_read_timeout      180;
    proxy_buffer_size      8k;
    proxy_buffers          8 64k;
    proxy_busy_buffers_size 128k;
    proxy_temp_file_write_size 128k;
    proxy_pass ;

}
location @client_test{
    proxy_next_upstream    error timeout;
    proxy_redirect          off;
    proxy_set_header        Host $host;
    #proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Real-IP $http_x_forwarded_for;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    client_max_body_size    100m;
    client_body_buffer_size 256k;
    proxy_connect_timeout  180;
    proxy_send_timeout      180;
    proxy_read_timeout      180;
    proxy_buffer_size      8k;
    proxy_buffers          8 64k;
    proxy_busy_buffers_size 128k;
    proxy_temp_file_write_size 128k;
    proxy_pass ;
}

CentOS/Linux安装 XS-Tools (XenServer)

Nginx增加Lua支持

相关资讯       Lua 

   

本文评论   查看全部评论 (1)


评论声明

尊重网上道德,遵守中华人民共和国的各项有关法律法规

承担一切因您的行为而直接或间接导致的民事或刑事法律责任

本站管理人员有权保留或删除其管辖留言中的任意内容

本站有权在网站内转载或引用您的评论

参与本评论即表明您已经阅读并接受上述条款

 

 

第 1 楼

匿名 发表于 2017/9/14 14:00:19

力量来浏览量了

(0) (0)

 

最新资讯

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/a309ae0edc78d9ecce2ea2a2a9e49a91.html