Single frontend serving multiple different domains using http - PiBa-NL/pfsense-haproxy-package-doc GitHub Wiki
Single frontend serving multiple different domains using http.
Settings:
Enable haproxy, set the maximum number of connections, set stats port and refresh intervals.

Backend overview
Backends the place to start, add a backend, and configure the servers and ports used on the lan or dmz server-network.

Frontend overview
Frontends need to be added that will listen for incomming connections, and will forward users to the default-backend or a specific backend determined by the acl and action rules.

The 3 backends in this example configuration are used from two (shared)frontends, basically they could all be used from 1 frontend, or be split over 3 frontends it depends a little what configuration is convenient for your purposes. Since 'actions' where introduced these are my preferred way to configure it all from 1 frontend.
First frontend:

Second frontend:

Templates
The configuration explained on this wiki page can be easily created by applying the 'template' from the template tab in the package. It will 'run' but the 3 domain names need to be pointed to pfSense wan-ip, for testing this can be done with 'host overrides' the pfSense dns-resolver. Also all 3 backends are configured to show the stats page for that backend. To make it more functional servers should be configured in each backend.
