ELB com passagem SSL para nginx ou haproxy. O que é adequado para lidar com mais certificados?

ELB com passagem SSL para nginx ou haproxy. O que é adequado para lidar com mais certificados?

Portanto, pretendo ter um ELB com passagem SSL para servidores executando haproxy ou nginx.

Estarei hospedando potencialmente milhares de certificados que permitem criptografar.

O nginx ou o haproxy são melhores para lidar com milhares de certificados SSL? Ou basicamente não há diferença nesse aspecto?

Quero terminal SSL em haproxy ou nginx, e com tantos arquivos de certificado, etc. Quero uma ideia se alguém será melhor em lidar com tantos certificados ou não.

Responder1

ConformeDocumentação do Elastic Load Balancer, os Classic Load Balancers permitem um único certificado por listener, com até 100 listeners (em portas diferentes).

Balanceadores de carga de aplicativospor outro lado, tem um limite de 25 certificados por balanceador, embora possa utilizar todos eles com o mesmo listener.

Eu diria que sua única abordagem viável para uma quantidade tão grande de certificados será implantar suas instâncias EC2 atrás de um Network Load Balancer, que funciona em uma camada de rede inferior e delega completamente a negociação SSL nas instâncias de back-end.

Se sua carga de trabalho for orientada para HTTP, eu diria que o Nginx tornará o negócio melhor do que o HAProxy. Se você pretende fazer proxy de outros protocolos, o HAproxy é sua melhor escolha.

Responder2

Ambos são ótimos. Eu usaria o nginx pessoalmente, pois você não está executando vários back-ends dessa perspectiva (pelo que entendi), então não precisa de haproxy nesse lado das coisas.

Basta configurar o nginx com SSL e proxy pass :)

Responder3

Acho que carregar milhares de certificados é mais fácil com o HAProxy. Tudo que você precisa fazer é colocar seus certificados em um único diretório e o HAProxy carregará todos os certificados com odiretiva crt.

Portanto, uma configuração mínima para descarregamento de SSL seria:

listen ssl_offload
   mode http
   bind IP:443 ssl crt <path-to-ssl-directory>
   timeout     client  30s
   timeout     server  30s
   timeout     connect 5s
   server srv1 IP:80 check 

O HAProxy usará o certificado correto com base no nome de host SNI fornecido pelo cliente (que atualmente ésuportadopela maioria dos navegadores modernos).

Carregar vários certificados SSL é apenas uma questão de consumo de memória aqui. O HAProxy precisa ter um arquivo PEM contendo os certificados necessários e quaisquer chaves privadas associadas. Portanto, se o arquivo PEM médio tiver cerca de 5K (chave 2048 rsa), carregar milhões deles custará cerca de 5 GB de memória.

Agora, enquanto o HAProxy atribui certificados por ouvinte, acho que o NGINX atribui certificados por "nome do servidor", portanto, você precisará de tantos blocos de servidores quantos domínios tiver. Se você estiver usando milhares deles, provavelmente terá que criar um script para isso.

informação relacionada