|  | @ -24,4 +24,43 @@
 | 
	
		
			
				|  |  |     cookie
 | 
	
		
			
				|  |  |     {
 | 
	
		
			
				|  |  |         "prod":0, #  0跳转到灰度服务器  1跳转到正式的服务器
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |     upstream apache001 {
 | 
	
		
			
				|  |  |          server 192.168.1.1:8080 weight=1 max_fails=1 fail_timeout=30s;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |     upstream apache002 {
 | 
	
		
			
				|  |  |           server 192.168.1.2:8080 weight=1 max_fails=1 fail_timeout=30s;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |     upstream root {
 | 
	
		
			
				|  |  |         server 192.168.1.0:8080 weight=1 max_fails=1 fail_timeout=30s;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |     server {
 | 
	
		
			
				|  |  |         listen 8080;
 | 
	
		
			
				|  |  |         server_name beidoutest.baidu.com;
 | 
	
		
			
				|  |  |         
 | 
	
		
			
				|  |  |         #match cookie $group是一个变量,{}里面是映射规则
 | 
	
		
			
				|  |  |         set $group "root";
 | 
	
		
			
				|  |  |         if ($http_cookie ~* "prod=0"){
 | 
	
		
			
				|  |  |             set $group apache001;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if ($http_cookie ~* "prod=1"){
 | 
	
		
			
				|  |  |             set $group apache002;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         
 | 
	
		
			
				|  |  |         log_format main '$remote_addr - $remote_user [$time_local] "$request" '
 | 
	
		
			
				|  |  |         '$status $body_bytes_sent "$http_referer" "group=$group"'
 | 
	
		
			
				|  |  |         '"$http_user_agent" $gzip_ratio $request_time "$http_x_forwarded_for"';
 | 
	
		
			
				|  |  |         
 | 
	
		
			
				|  |  |         access_log logs/access_log main;
 | 
	
		
			
				|  |  |         error_log logs/error_log;
 | 
	
		
			
				|  |  |         
 | 
	
		
			
				|  |  |         location / {
 | 
	
		
			
				|  |  |             proxy_pass http://$group;
 | 
	
		
			
				|  |  |             proxy_set_header X-Forwarded-For $remote_addr;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |     }
 |