https://mp.weixin.qq.com/s/36g51pc-qeO3GDfywiHjMQ
默认会轮询把请求发给 upstream 下的 server。
现在需要有多组 upstream:
upstream version1.0_server {
server 192.168.1.6:3000;
}
upstream version2.0_server {
server 192.168.1.6:3001;
}
upstream default {
server 192.168.1.6:3000;
}
有版本 1.0 的、版本 2.0 的,默认的 server 列表。
然后需要根据某个条件来区分转发给哪个服务。
我们这里根据 cookie 来区分:
set $group "default";
if ($http_cookie ~* "version=1.0"){
set $group version1.0_server;
}
if ($http_cookie ~* "version=2.0"){
set $group version2.0_server;
}
location ^~ /api {
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://$group;
}
如果包含 version=1.0 的 cookie,那就走 version1.0_server 的服务,有 version=2.0 的 cookie 就走 version2.0_server 的服务,否则,走默认的。
文档更新时间: 2023-08-19 20:06 作者:admin