Cada servidor por trás de um balanceador de carga precisa de seu próprio certificado SSL?

60

Se você tiver 5 servidores da web atrás de um balanceador de carga (como haproxy) e eles estiverem exibindo conteúdo para o mesmo domínio, você precisa de certificados SSL para todos os servidores ou pode usar o mesmo certificado em cada servidor?

Eu sei que você pode colocar todas as solicitações SSL em um servidor específico, mas isso requer informações da sessão distribuídas e espera que não chegue a isso.

    
por Derek Gathright 25.09.2009 / 18:08

5 respostas

62

If you have 5 web servers behind a load balancer (...) do you need SSL certificates for all the servers,

Depende.

Se você fizer seu balanceamento de carga na camada TCP ou IP (camada OSI 4/3, a.k.a L4, L3), então sim, todos os servidores HTTP precisarão ter o certificado SSL instalado.

Se você fizer o balanceamento de carga na camada HTTPS (L7), normalmente instalaria o certificado somente no balanceador de carga e usaria HTTP simples não criptografado na rede local entre o balanceador de carga e os servidores da Web (para melhor desempenho nos servidores da web).

Se você tiver uma instalação grande , talvez esteja fazendo Internet - > Balanceamento de carga L3 - > camada de concentradores SSL L7 - > balanceadores de carga - > camada de servidores de aplicativos HTTP L7 ...

Willy Tarreau, o autor do HAProxy, tem uma visão muito legal das maneiras canônicas de balanceamento de carga HTTP / HTTPS .

Se você instalar um certificado em cada servidor, certifique-se de obter um certificado que suporte isso. Normalmente, os certificados podem ser instalados em vários servidores, desde que todos os servidores atenham tráfego somente para um nome de domínio totalmente qualificado. Mas verifique o que você está comprando, os emissores de certificados podem ter um portfólio de produtos confuso ...

    
por 25.09.2009 / 18:30
13

Você deve poder usar o mesmo certificado em cada servidor. Se o seu site for www.gathright.com, você poderá comprar um certificado para esse FQDN. Então você instala em cada um dos seus 5 servidores por trás do balanceador.

Como alternativa, você pode obter um certificado separado para cada servidor Web, mas incluir "www.gathright.com" como "Subject Alternative Name", o que significa que cada um dos 5 certs seria válido para SSL para esse FQDN geral bem como SSL para os FQDNs específicos do servidor.

    
por 25.09.2009 / 18:18
11

SIM , você pode usar o mesmo certificado e a chave privada associada em todos os seus servidores, se estiverem por trás de um balanceador de carga ou proxy reverso de balanceamento de carga e se todos eles veicularem conteúdo pelo mesmo domínio.

Os certificados, quando assinados por uma autoridade de certificação, afirmam que a autoridade de certificação verificou o nome listado no certificado. Para certificados de sites, isso significa o nome de domínio do site. Seu navegador espera que o servidor com o qual está falando, se estiver falando sobre HTTPS, apresente um certificado com o mesmo nome como o nome de domínio com o qual o navegador pensa estar falando. (Por exemplo, não é provável que a VeriSign assine o certificado do Hacker Joe para bankofamerica.com. Portanto, mesmo que o Hacker Joe consiga interceptar o tráfego entre você e o bankofamerica.com, o Hacker Joe não terá um certificado assinado para o bankofamerica.com e seu navegador irá colocar grandes bandeiras vermelhas de aviso em todo o lugar.)

O que importa é que o nome no certificado corresponda ao nome de domínio com o qual o navegador pensa estar falando. Você pode usar o mesmo certificado (com chave privada associada) com o nome correto em vários servidores da Web em um cluster da Web, desde que estejam atrás de um balanceador de carga.

Você também pode usar um balanceador de carga de terminação SSL, caso em que você usaria o certificado (com chave privada associada) no balanceador de carga, e os servidores da Web não precisariam de certificados porque não teriam nada para fazer com o SSL.

    
por 27.04.2011 / 15:44
5

Nossa configuração funcionou muito bem:

https trafic
     |
   pound
     |
http traffic
     |
  haproxy
     |
http traffic 
     |
web server 1 ... web server n

Desta forma, libra descriptografa o tráfego, a partir daqui tudo é direto http. Vantagens: menos configuração nos servidores da web, uma ferramenta para cada trabalho. Você pode maximizar a CPU na máquina pound e manter os servidores web "normais". Você deve obter pelo menos dois de cada (libra, haproxy, servidores da web), se o tempo de atividade for importante.

    
por 08.12.2009 / 22:02
1

AFAIR, você pode usar o mesmo certificado em cada servidor. Você também pode implementar um acelerador SSL e descarregar todo o tráfego SSL para ele.

    
por 25.09.2009 / 18:17