Hello,

have just started to explore HAProxy and am finding it amazing!  As a long time 
Zimbra user I wanted to see how one could balance the front-end web client so 
had a play around.  What I have at present is the following configuration:

frontend zimbra-zwc-frontend-https
    bind 172.30.8.21:443 ssl crt /etc/haproxy/certs/zimbra.pem
    mode tcp
    option tcplog
    reqadd X-Forwarded-Proto:\ https
    default_backend zimbra-zwc-backend-http

backend zimbra-zwc-backend-http
   mode http
   balance roundrobin
   stick-table type ip size 200k expire 30m
   stick on src
   server zwc1 zm1:80 check port 80
   server zwc2 zm2:80 check port 80

I admit that the configuration has been cobbled together from other peoples 
thoughts and ideas; though it does actually work!  I did try to go the route of 
HTTPS -> HTTPS but that completely fell apart due to Zimbra using NGINX and 
automatically re-routing HTTP -> HTTPS.  The other stumbling block was I could 
not see how to check that the report HTTPS (443) port was available.  I have 
seen "check port" and "check id" used but neither worked as expected.  So at 
present I have HAProxy acting as the SSL terminator and backing off the 
requests to a HTTP backend.  I can take one backend node down, upgrade it, and 
restart it with affecting any new connections again a single destination IP 
address; NICE! :)

This is all very new to me so any expert advice, or directions to further 
reading, would be very grateful and encouraged.

Thank you.

P.

Reply via email to