整体思路:
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。
lockdreamer2、map.conf
~* 开头表示不区分大小写的正则匹配
lockdreamer坑2:map.conf中匹配问题
参数:ebmp:99
匹配规则: ~*ebmp:99
网友评论