nginx分发到备站服务器导致登录失效

1. 服务器部署配置情况。

有两台主站服务器提供日常访问,用户通过浏览器键入域名访问时,nginx轮询转发到这两台服务器访问。这两台主站服务器http session是共享的,通过memcached实现。

有一台备站服务器作为备用,当主站服务器不能访问时,nginx自动转发到备站服务器访问。备站服务器跟主站的两台服务器http session是不共享的。

2. 出现问题的问题。

nginx在主站服务器没有挂掉的时候,也自动转发到了备站服务器,导致用户在主站服务器登录后,之后的请求可能转发到备站服务器上去,但在备站服务没有登录,所以对于用户而言,出现了登录后失效的问题。

3. 解决问题。

经过多次检查,发现问题出在css中一个背景图片没有找到。所以访问的时候,会有一个404返回,而此时nginx根据这一个404返回,就判断为主站已经挂掉,从而转发到了备站上去。


你可能感兴趣的:(nginx,session)