@jdenny
If you use the HTTP check, you will need to configure it properly. You can specify the method, URL and also the protocol version.
Note that HAproxy just request the server by its IP and port as stated in the backend setting. It doesn't send a host header to the backend. If your server requires this, the check will fail.
Also it just requests the server root / if you didn't state any other URL.
So ensure, that your server is responding to such requests.