我需要设置负载均衡器作为Amazon的ELB的替代方案,因为它们在连接超时时出现问题。
目前,我正在使用HAProxy并且它正常工作。但是,对于想要在https(端口443)中连接到后端apache服务器以及粘性会话的用户,我需要使用SSL。
配置会是什么样子?我听说HAProxy不支持本机SSL,可以使用stunnel或nginx / apache来处理SSL终止。
我很感激任何人分享他们的知识和经验。
感谢。 詹姆斯
答案 0 :(得分:1)
要使用类似的东西。 将XXX.XXX.XXX.XXX更改为您的IP地址。
listen example-cluster XXX.XXX.XXX.XXX:80
mode http
stats enable
stats auth user:password
stick store-request src
stick-table type ip size 200k expire 2m
balance source
cookie JSESSIONID prefix
option httplog
option httpclose
option forwardfor
option persist
option redispatch
option httpchk HEAD /check.txt HTTP/1.0
server example-webl XXX.XXX.XXX.XXX:80 cookie A check
server example-web2 XXX.XXX.XXX.XXX:80 cookie B check
server example-web3 XXX.XXX.XXX.XXX:80 cookie C check
server example-web4 XXX.XXX.XXX.XXX:80 cookie D check
server example-web5 XXX.XXX.XXX.XXX:80 cookie E check
对于您的SSL,请使用带有余额源的模式tcp:
listen example-cluster-ssl XXX.XXX.XXX.XXX:443
mode tcp
reqadd X-Forwarded-Proto:\ https
stick store-request src
stick-table type ip size 200k expire 2m
option persist
option redispatch
option ssl-hello-chk
balance source
server example-webl XXX.XXX.XXX.XXX:443 check
server example-web2 XXX.XXX.XXX.XXX:443 check
server example-web3 XXX.XXX.XXX.XXX:443 check
server example-web4 XXX.XXX.XXX.XXX:443 check
server example-web5 XXX.XXX.XXX.XXX:443 check
另一种方法是将您的haproxy升级到1.5版,在该版本中支持ssl但尚未稳定。
答案 1 :(得分:0)
看看github上的Stud项目,它与haproxy结合得非常好,性能非常高,可扩展,并且使用的资源非常少。许多用户现在正在转向它,因为它简单而有效。