1

我需要设置负载均衡器作为亚马逊 ELB 的替代品,因为它们在连接超时方面存在问题。

目前,我正在使用 HAProxy,它工作正常。但是,对于想要在 https(端口 443)中连接到后端 apache 服务器和粘性会话的用户,我需要使用 SSL。

配置会是什么样子?我听说 HAProxy 在本机中不支持 SSL,可以使用 stunnel 或 nginx / apache 来处理 SSL 终止。

我会感谢任何人分享他们的知识和经验。

谢谢。詹姆士

4

2 回答 2

1

要 http 使用类似的东西。将 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,请使用带有 balance source 的模式 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 但还不稳定。

于 2013-12-23T15:17:23.083 回答
0

看看 github 上的 Stud 项目,它与 haproxy 结合得非常好,性能非常好,可扩展,而且使用的资源非常少。许多用户现在正在切换到它,因为它简单高效。

于 2012-08-25T07:31:02.677 回答