前言
今天公司小程序版本更新需要在线上测试所有功能,后端程序需要灰度,在不影响现线上功能的情况下能够进行新版本功能的测试。
这种比较简单的情况,通过使用版本号以及nginx的动态请求规则就可以实现了
一、实现方案
前端的所有请求的header中都带上一个版本号version=xxx,通过nginx反向代理让老版本的请求仍然到旧版本的后端服务,新版本的请求跳转到新版本后端服务
二、nginx配置
server {
listen 8976;
vhost_traffic_status off;
underscores_in_headers on;
access_log /home/logs/front.access.log access;
error_log /home/logs/front.error.log error;
set $group "http://192.168.0.89:6788";
if ($http_version = '2.0'){