前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >借住Nginx实现负载均衡和灰度发布的功能

借住Nginx实现负载均衡和灰度发布的功能

作者头像
用户1499526
发布2019-07-15 18:05:01
6370
发布2019-07-15 18:05:01
举报
文章被收录于专栏:简单的日记简单的日记

Nginx实现灰度发布的功能

1. 对URL进行单独的过滤发布

代码语言:javascript
复制
upstream A {
        ip_hash;
        server 10.0.XX.XX:9000;
	    server 10.0.XX.XX:9010;
    }
upstream B {	
	    #server 10.0.5.76:9000;
        server 10.0.5.76:9010;
}
server {
        listen       80;
        server_name  www.xxxx.com;
        #charset koi8-r;
        access_log  logs/host.xxx.log  main;

        location / {
            proxy_pass   http://A;
			proxy_set_header  Host            $host; 
			proxy_set_header  X-Real-IP        $remote_addr; 
			proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for; 
            index  index.html index.htm;
        } 
       	location ~ /print/xxxInfo {
		 	proxy_pass   http://B;
			proxy_set_header  Host            $host; 
			proxy_set_header  X-Real-IP        $remote_addr; 
			proxy_set_header  X-Forwarded-For                    $proxy_add_x_forwarded_for;
			 proxy_read_timeout 150;
          } 	
	#location ~ /mps/xxxInfo {
	#			return 500;
	#		}
	##开启后直接封掉某个请求。
    #location ~ /mps/xxxB {
	#			return 500;
	#}    
    }	

2. 针对IP地址进行过滤

代码语言:javascript
复制
如果是内部IP,则反向代理到hilinux_02(预发布环境);如果不是则反向代理到hilinux_01(生产环境)。

upstream hilinux_01 {
    server 192.168.1.100:8080 max_fails=1 fail_timeout=60;
}

upstream hilinux_02 {
    server 192.168.1.200:8080 max_fails=1 fail_timeout=60;
}

upstream default {
    server 192.168.1.100:8080 max_fails=1 fail_timeout=60;
}

server {
  listen 80;
  server_name  www.hi-linux.com;
  access_log  logs/www.hi-linux.com.log  main;

  set $group default;
  if ($remote_addr ~ "211.118.119.11") {
      set $group hilinux_02;
  }

 location / {
    proxy_pass http://$group;
    proxy_set_header   Host             $host;
    proxy_set_header   X-Real-IP        $remote_addr;
    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
    index  index.html index.htm;
  }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Nginx实现灰度发布的功能
    • 1. 对URL进行单独的过滤发布
      • 2. 针对IP地址进行过滤
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档