Alta Disponibilidade para o Site SSL

5

Um dos nossos clusters de servidor da web atende a um número moderado de aplicativos de comércio eletrônico movimentados. Atualmente, cada site reside em um servidor da Web específico e possui uma cópia de hot spare espelhada em outro servidor da Web no cluster. Se um servidor falhar, há um processo manual para reativar os sites em seu servidor de failover. Estamos chegando a um ponto em que precisamos de uma solução melhor, não apenas para falhas, mas também para que possamos reduzir as máquinas para manutenção sem tempo de inatividade para os sites.

Estamos pensando em criar um cluster de 2 a 3 servidores HAProxy (principalmente porque ele tem um ótimo histórico de desempenho) para colocar frente dos servidores da web. Pelo que eu li, ele atenderá a maioria das nossas necessidades de gerenciamento de sessão e de manter os usuários no mesmo servidor, etc. Nossa maior preocupação é com relação aos certificados SSL. Cada um dos sites tem seu próprio certificado SSL. Como os usuários finais estariam se conectando aos servidores HAProxy, só posso assumir que precisaríamos mover os certificados para cada uma das máquinas no cluster HAProxy. Como o HAProxy não manipula o SSL diretamente, eu li que podemos fazer isso com o Apache + mod_ssl no mesmo sistema por meio de um arranjo de encaminhamento do tipo de proxy reverso.

Então, minha pergunta específica é se o HAProxy é realmente a ferramenta certa para o trabalho? Os certificados SSL existentes (em um Windows 2003 Server atualmente, alguns são certs EV-SSL) serão portáveis para o Apache? Existem outras soluções de software ou hardware que deveríamos considerar (usar o HAProxy com um site SSL parece mais complicado do que precisa ser)? Quaisquer outras ressalvas na configuração de um cluster da Web SSL de alta disponibilidade que talvez não tenhamos considerado?

    
por Justin Scott 14.06.2009 / 06:53

3 respostas

2

Se você estiver aberto para uma solução Microsoft / IIS 7, uma opção é usar o Application Request Routing (ARR) do IIS7.

Existe uma introdução / tutorial aqui neste artigo em learn.iis.net: Balanceamento de carga HTTP usando o roteamento de solicitações de aplicativos . Existe um recurso chamado "SSL Offloading":

When this feature is enabled, all communication between the ARR server and the application servers are done in clear text, even for HTTPS requests from clients to the ARR server. When both the ARR server and the application servers are deployed within a trusted network, such as within the same datacenter, enabling SSL offloading does not sacrifice security.

Also, enabling this feature can further help to maximize the server resources on the application servers, since they do not have to spend cycles in encrypting and decrypting requests and responses.

Se você quiser se aprofundar no assunto, aqui está outro artigo sobre o ARR , que explica como usar o mecanismo em combinação com balanceadores de carga de hardware.

    
por 14.06.2009 / 08:57
1

No passado, eu configurei algo semelhante, mas estamos executando aplicativos mod perl que são bastante com fome de recursos. Então, basicamente, acabamos com o squid na frente dos servidores de aplicativos, e usamos o apache + proxy para obter o descarregamento de SSL, para que pudéssemos armazenar em cache todo o conteúdo por meio de lulas. Para a parte de cluster, usamos LVS (servidor virtual linux) + heartbeat para balanceadores de carga de failover Para o método de descarga de SSL que eu usei, consulte este artigo no meu blog para mais informações

    
por 14.06.2009 / 08:46
0

existem maneiras de configurar o que você está procurando com o HAProxy, mas elas exigem que os certificados ssl estejam em todos os servidores que serão usados. Outra opção que eu encontrei, mas nunca usei, é um aplicativo chamado pound que é projetado com servidores ssl de balanceamento de carga em mente

    
por 11.09.2009 / 07:21