Eu não usei o stunnel com o HAProxy, mas sou um usuário de longa data do Pound, em alguns ambientes diferentes.
O Pound faz um bom trabalho com o SSL. É muito fácil de configurar, usa certificados PEM padrão e passa dados SSL suficientes de volta para o servidor da Web com os quais seus aplicativos sabem com o que estão lidando. Além de X-Forwarded-For
, você obtém X-Forwarded-Proto
, portanto, se estiver executando versões http e https de um site, poderá fornecer a seus retornos de chamada do AJAX / XHR uma URL que não causará avisos de segurança. A libra também suporta certs do lado do cliente, certificados de curinga e SNI. Então não há muito que você não possa fazer com isso.
Além disso, estou um pouco desconfiado de criar serviços de produção usando ferramentas que exigem um patch de terceiros para fornecer funcionalidade crítica. O que acontece quando uma vulnerabilidade stunnel é descoberta e a alteração quebra seu patch? Você vai ficar inseguro por um tempo ou correr sem cabeçalhos X-Forwarded-IP por um tempo?
Eu nunca tive um acidente com Libra. Exceto por um estranho bug relacionado ao firewall que foi corrigido em 2005, ele sempre se comportou perfeitamente para mim. Uma das coisas que eu amo é o programa de controle externo que vem com ele, que me permite desabilitar / habilitar serviços e back-end, ou visualizar a lista atual de mapeamentos pegajosos, etc. Até onde eu sei, o haproxy não faz isso. t tem algo como poundctl de Pound.
Além de usar o Pound no trabalho para balancear a carga de um cluster de cinco servidores da Web, eu o uso no meu servidor pessoal. Lá, eu executo servidores web em máquinas virtuais que usam endereços IP privados ( FreeBSD jails ). Vários servidores da Web virtuais são balanceados por trás do Pound sendo executado no host físico. Eu suponho que você poderia fazer o mesmo com o stunnel + HAProxy, mas novamente, eu prefiro instalar software com suporte total à comunidade, sem patches fora do padrão.