我正在尝试设置一个负载均衡器,该负载均衡器会重定向到用户的特定应用程序版本。到目前为止,我正在使用蓝/绿部署策略(所以一旦我创建了一个应用程序的新版本,我创建了新的环境并重定向了那里的流量)。现在我想改变这种方法。我希望能够指定在认证后看到新站点的用户(更有经验或其他),而其他用户仍然会被重定向到旧站点。如果新版本出现问题,所有用户都会看到旧版本。目前我的负载均衡是在apache中进行的,并且身份验证是在应用程序级别完成的。这甚至可能吗?我知道我可以在应用程序中对其进行硬编码但是如果新功能中存在错误并且新用户仍然被重定向到该怎么办?然后,我需要停止所有用户的应用程序并回滚到旧版本,我认为这很糟糕。我正在考虑使用外部CAS但是如果有可能的话就找不到任何信息。所以我想问一下是否可能,是否有任何工具(可能是一些apache插件)用于此目的?
答案 0 :(得分:1)
nginx
conf.d/balancer.conf
docker run -p8080:8080 -v ~/your_path/conf.d:/etc/nginx/conf.d openresty/openresty:alpine
curl
来玩它map $cookie_is_special_user $upstream {
default http://example.com;
~^1$ http://scooterlabs.com/echo;
}
server {
listen 8080;
resolver 8.8.8.8;
location / {
proxy_pass $upstream;
}
}
curl --cookie "is_special_user=1" http://localhost:8080
它将返回scooterlabs.com转发收到的请求的内容
curl http://localhost:8080
制作example.com的内容