Configure SSL offloading for HAProxy

Last updated: · Applies to Roxy-WI 9.2 and later.

Set up an HTTPS listener with Roxy-WI 9.2 and use the certificate catalog for subsequent certificate changes.

About SSL offloading (TLS termination)

With TLS termination, HAProxy presents the certificate and handles the HTTPS connection from the client. The connection from HAProxy to the backend is configured separately: it can use HTTP or its own TLS connection. Choose that transport explicitly for your application.

Roxy-WI configures the HAProxy listener and manages its certificate material. Uploading a certificate and creating a TLS bind are separate steps.

Prepare the certificate and server

Prepare a PEM containing the certificate chain and its matching private key for the hostname clients will use. Connect the HAProxy server to Roxy-WI, configure SSH and cert_path, and make sure the intended HTTPS port is available.

For a certificate you already have, open HAProxy → SSL, select the server and use Add → Save to disk only. For an ACME-managed certificate, follow the Let's Encrypt draft, staging and issuance workflow. Inspect every HA target before configuring the bind. See certificate upload for the 9.2 dialog and supported file types.

Create and apply an HTTPS listener

HAProxy listener form with SSL Offloading and certificate fields in Roxy-WI 9.1
SSL Offloading form shown in 9.1. The steps above describe 9.2; certificate management now uses the Certificates catalog.

Replace certificates after setup

Once the PEM is loaded and its disk state is Matches, use Actions → Update certificate → Save and apply to HAProxy on the SSL page. In 9.2 this persists the replacement and applies it through Runtime API without reloading HAProxy. Follow History and inspect the result on every target.

To add another certificate without changing an existing HTTPS bind, the bind must already load a certificate directory or crt-list. Use Add → Apply immediately to HAProxy without reload and select that source. This option does not create a new bind. Read the requirements and recovery procedure before using it.