【发布时间】:2012-12-22 21:51:21
【问题描述】:
有没有办法在 Nginx 中为给定的 URL 和 User-Agent 标头(用于 A/B 测试)返回 20% 的不同页面?
【问题讨论】:
标签: nginx
有没有办法在 Nginx 中为给定的 URL 和 User-Agent 标头(用于 A/B 测试)返回 20% 的不同页面?
【问题讨论】:
标签: nginx
【讨论】:
具有负载均衡功能,
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;
}
}
}
不是很漂亮,但可能有用:)
【讨论】:
可以使用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;
}
}
}
【讨论】: