首页 文章

HAProxy with SSL(https)和Sticky Session

提问于
浏览
1

我需要设置负载均衡器作为Amazon的ELB的替代方案,因为它们在连接超时中存在问题 .

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

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

我很感激任何人分享他们的知识和经验 .

谢谢 . 詹姆士

2 回答

  • 1

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

  • 0

    要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,请使用带有余额源的模式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但尚未稳定 .

相关问题