Nginx split_clients不划分流量



我有以下nginx.config文件:

events {}
http {
# ...
# application version 1a 
upstream version_1a {
server localhost:8090;
}
# application version 1b
upstream version_1b {
server localhost:8091;
}
split_clients "${arg_token}" $appversion {
50%     version_1a;
50% version_1b;
}
server {
# ...
listen 7080;
location / {
proxy_set_header Host $host;
proxy_pass http://$appversion;
}
}
}

我有两个nodejs服务器在端口8090和8091上监听,我正在点击URL http://localhost:7080,我的期望是Nginx将随机将流量分割到上游的version_1aversion_1b,但是,所有的流量都将流向version_1a。你知道为什么会这样吗?

(我想为金丝雀流量设置这个配置)

验证您用于分割流量的变量是否设置正确,并且变量的值应该均匀分布,否则流量将无法均匀分割。

我在以下配置中遇到同样的问题:

upstream exercim {
server host.docker.internal:8081;
}
upstream nutshell {
server host.docker.internal:8082;
}
split_clients "${remote_addr}" $backend {
50% exercim;
*   nutshell;
}
server {
listen       80 default_server;
listen  [::]:80;
server_name  localhost;
#access_log  /var/log/nginx/host.access.log  main;
location /exercim/ {
proxy_pass  http://$backend;
}
location / {
root   /usr/share/nginx/html;
index  index.html index.htm;
}
}

$remote_addr包含IP地址。

仍然没有分割流量。

相关内容

  • 没有找到相关文章

最新更新