Com ssl, você tem que usar frontend / backend, não ouvir. O motivo é que, com listen, uma conexão que chega ao haproxy em uma porta vai para o servidor atrás na mesma porta. Portanto, uma solicitação SSL no 443 é descriptografada pelo haproxy, mas depois enviada para o servidor da Web na porta 443, que está esperando uma conexão SSL. (E é assim que você obtém esse erro.) Com o frontend / backend, você pode dizer ao haproxy para aceitar conexões em uma porta no frontend, mas para completar a conexão com uma porta diferente no backend.
Alternativamente, você pode reconfigurar seu servidor web para aceitar solicitações http (não requisições https) na porta 443. Pessoalmente, eu não faria isso porque isso é bastante não-padrão, enquanto você esperaria um balanceador de carga fazendo offload SSL para aceitar uma conexão em 443 e concluí-la na porta 80.