3
haproxy:如何在不启动应用程序会话的情况下准备服务器维护?
问题 我正在使用haproxy来平衡Web服务器的负载。我将会话持久性与其他cookie一起使用,因为某些应用程序使用会话文件,并且这些文件在服务器之间不同步。 我想禁用服务器进行维护,但不要中断会话。因此,我想允许现有客户端继续其应用程序会话,但不接受新客户端。 代理行为 我将服务器设置为“要维护” 如果客户端设置了cookie,则即使标记为“进入维护”也要使用服务器 如果有新客户端(没有cookie),则将其定向到另一台服务器 在所有客户端结束他们的应用程序会话后,不再有客户端将cookie设置到该特定服务器上了,我最好在不中断用户的情况下将其关闭。 您是否认为通过某些haproxy配置可以实现?还是有一个聪明的方法吗? 其他方法 实现此需求的其他方法的非详尽清单: 在服务器之间同步会话文件(需要一种在多个服务器之间或公共的单个安装点之间同步文件的方法) 使用数据库存储会话信息(需要更改应用程序行为) 更多细节 我使用这种配置: frontend https-in bind xxx.xxx.xxx.xxx:443 ssl crt /etc/haproxy/ssl/_default.pem crt /etc/haproxy/ssl reqadd X-Forwarded-Proto:\ https acl APP1 hdr(host) -i APP1.atac.local use_backend APP1 if APP1 default_backend _default backend APP1 redirect scheme https if !{ ssl_fc } mode http balance …