It’s possible to redirect non configured sub domains to a different error message rather than a default or error 503 which is a server side error.
Edit /etc/haproxy/haproxy.cfg and add the following to the default frontend:
default_backend no-match
Then define the no-match backend (can be done by appending to the end of the file:
backend no-match
http-request deny deny_status 400
This will return a 400 error (bad request). If another error message such as 404 is required you’ll need to create a 404.http in /etc/haproxy/errors folder and add it to the config under defaults:
errorfile 404 /etc/haproxy/errors/404.http
Simple and elegant solution to pass an error that is possibly from the user as opposed to the server.
Serve 404 from HAProxy when no acls match