HAProxy - Mailstore

- 14.02.2022
von Thomas Windscheif / Microlinc



Reverse Proxy
HAProxy 1.8.19-1+deb10u3
Mailstore
Mailstore Webclient
Mailstoreclient

HAProxy lässt sich hinter HAProxy als Reverse Proxy wunderbar betreiben.
Allerdings muss man beachten, dass der Zugriff auf die API für den Mailstoreclient nicht mit http-Mode konfiguriert werden kann.
Offensichtlich scheint der Client hier ein abweichendes Verhalten zu anderen webbasierten Produkten zu haben.

Auch muss beim TLS-Offload bzw. der TLS-Inspection der richtige in der ACL Handler genutzt werden, andernfalls HAProxy die Verbindung nicht (Stichwort SNI).

Im folgenden Szenario ist die frontend-URL https://archiv.microlinc.de:8460 der Backendserver heißt srv-archiv01 und die IP-Adresse 10.0.0.2. Das Zertifikat wird im Reverse Proxy präsentiert.


frontend microlinc_mailstore_client_front
bind *:8460 ssl crt /etc/letsencrypt/live/microlinc-de/fullkeychain.pem
mode tcp
tcp-request inspect-delay 5s
tcp-request content accept if { req_ssl_hello_type 1 }
acl mailstore_microlinc_client_host ssl_fc_sni -i archiv.microlinc.de
use_backend microlinc_mailstore_client_back if mailstore_microlinc_client_host

backend microlinc_mailstore_client_back
mode tcp
option forwardfor
timeout tunnel 30m
server srv-archiv01 10.0.0.2:8460 ssl check-ssl verify none

frontend microlinc_mailstore_front
bind *:8461 ssl crt /etc/letsencrypt/live/microlinc-de/fullkeychain.pem
mode http
tcp-request inspect-delay 5s
tcp-request content accept if { req_ssl_hello_type 1 }
acl mailstore_microlinc_web_host hdr(host) -i archiv.microlinc.de:8461
use_backend microlinc_mailstore_web_back if mailstore_microlinc_web_host

backend microlinc_mailstore_web_back
mode http
option forwardfor
server srv-archiv01 10.0.0.2:8461 ssl check-ssl verify none


Wichtig ist, dass der mode "tcp" ist UND im backend der Wert "timeout tunnel 30m" gesetzt ist.
Wird der letztere Wert nicht gesetzt, werden die Verbindungen vom Mailstore-Client alle 50 bis 60 Sekunden unterbrochen und muss dann erst erneut wiederverbunden werden.
MICROL!NC - URL zum Artikel: http://microlinc.homeip.net/index.php?lev1=37&lev2=1&id=444 - Ausdruck vom 02.05.2024