在一个或者多个配置文件内配置了多个upstream,且有一个以上的proxy_pass到这些upstream
第一次浏览器访问了其中一个环境后,浏览器再访问其他的环境就会出现502
浏览器访问所有配置的环境应该是正常的
1.共两组环境。其中2个real server分别配置一个到两个不同的upstream,tengine使用两个端口,比如8080,8090反向代理这两个upstream。 2.那么应该访问的地址分别为ip:8080,ip:8090 3.在浏览器访问其中一个环境后,再访问另一个则出现502 4.实际测试添加contextpath不影响测试结果 5.日志报错:no live upstream while connecting to upstream 6.另一个环境使用隐身窗口或者换一个浏览器可以正常访问,或者把proxy_pass代理的upstream更换为实际的ip:port也是正常访问的。 7.所以有可能是跟负载均衡的sticky_session有一些冲突存在?
- If applicable, add nginx debug log doc. 2.使用默认参数编译安装nginx,复制tengine的配置文件过去,只取消掉sticky_session配置,浏览器访问无问题 3.或者取消掉tengine配置文件upstream段中的session_sticky也无问题
- Tengine version (use
sbin/nginx -V
): 2.3.2 - OS (e.g. from /etc/os-release): centos6.8
- Kernel (e.g.
uname -a
): - Others: