3

有没有办法在 Nginx 中为给定的 URL 和 User-Agent 标头(用于 A/B 测试)返回 20% 的不同页面?

4

3 回答 3

3

您应该检查以下模块:

http://nginx.org/en/docs/http/ngx_http_split_clients_module.html

它是专为 A/B 测试而创建的。

于 2013-01-09T15:11:13.653 回答
2

具有负载均衡功能,

http {
 upstream myproject {
  server 127.0.0.1:8000 weight=4;
  server 127.0.0.1:8001;
 }

 server {
  listen 80;
  server_name www.domain.com;
  location / {
    proxy_pass http://myproject;
  }
 }

 server {
  listen 8000;
  location / {
   root /var/www/A;
  }
 }

 server {
  listen 8001;
  location / {
   root /var/www/B;
  }
 }
}

不是很漂亮,但也许可行:)

于 2013-01-09T02:03:17.507 回答
0

它可以与配置一起使用split_clients模块

http {
  upstream myproject1 {
    server 127.0.0.1:8000;
  }

  upstream myproject2 {
    server 127.0.0.1:8001;
  }

  split_clients $remote_addr $upstream {
      25% myproject2;
      * myproject1;
  }


  server {
    listen 80;
    server_name www.domain.com;
    location / {
      proxy_pass http://$upstream;
    }
  }

}
于 2020-11-02T12:19:56.503 回答