Py学习  »  NGINX

nginx实现灰度发布

lockdreamer • 5 年前 • 503 次点击  

整体思路:

nginx收到session带来的cookies_wltx_version变量,然后在map.conf中对变量进行重新赋值;再通过location里面的proxy_pass将变量传给upstream,最后,upstream根据变量的值匹配到对应的节点,实现灰度发布。

具体配置文件如下:

1、nginx.conf

time_local    访问时间

remote_addr     请求发起地址

upstream_addr     upstream代理地址

lockdreamer


坑1:由于对nginx不理解,导致问题一直定位不到原因。感谢强哥和君虎的技术支持。

nginx中$cookies_cmos_vesion参数,$cookies_是前缀,只有加了这个前缀才能调取cookies传来的参数。实际参数应该是cmos_vesion。

lockdreamer

2、map.conf

~*  开头表示不区分大小写的正则匹配

lockdreamer

坑2:map.conf中匹配问题

参数:ebmp:99

匹配规则: ~*ebmp:99 

3、upstream

lockdreamer

4、location

lockdreamer

今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/U6BPoCRbMM
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/26729
 
503 次点击