Você entendeu mal a "falta" do suporte ao SNI.
Primeiro, nginx
geralmente é bom para configuração SSL" curinga ". O problema de suporte está em clientes antigos (ou seja, navegadores), que não são capazes de lidar com o SNI .
EDITAR Nova pergunta: O NGINX pode inspecionar o pedido de TLS para procurar por SNI como o HAProxy (etc)?
De acordo com o que eu li por aí (e eu tenho dito ), o NGINX não deve suportar SNI e Eu deveria ir para o HAProxy para um proxy reverso SSL-transparente. Bem. No entanto, isso parece sugerir que o NGINX de fato suporta SNI, mas não consigo encontrar um único pedaço de documentação útil ao redor. Ou seja, tudo o que consegui encontrar implicou que eu ainda tinha que fornecer o NGINX com os certificados para que ele pudesse corresponder ao nome do host da solicitação. Mas não é exatamente esse o problema que a SNI tenta resolver?
Agora, estou começando a executar um número considerável de sites HTTPS diferentes no mesmo endereço IP, o que prejudica a manutenção da mesma informação em várias configurações diferentes. Por isso, gostaria de saber se É melhor deixar o NGINX e aprender mais um software (também conhecido como HAProxy) ou se eu posso realmente ficar com o NGINX - e como.
Idealmente, eu gostaria que o proxy fornecesse um túnel transparente para o tráfego criptografado, e apenas o cliente e o servidor de back-end (digamos, Apache ou qualquer outro aplicativo que eu esteja executando) deveriam ser capazes para descriptografá-lo - o que significa que não terei que manter as informações dos certificados na configuração do proxy reverso. Significa que eu posso ir daqui
server {
listen 443 default ssl;
server_name example.org;
add_header X-Clacks-Overhead "GNU Terry Pratchett";
ssl on;
ssl_certificate /etc/le_certs/example.org/live/example.org/fullchain.pem;
ssl_certificate_key /etc/le_certs/example.org/live/example.org/privkey.pem;
location / {
proxy_pass_header Server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass https://exampleapp;
}
}
para cá
server {
listen 443 default ssl;
server_name example.org;
add_header X-Clacks-Overhead "GNU Terry Pratchett";
location / {
proxy_pass_header Server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass https://exampleapp;
}
}
com o benefício adicional de que o contêiner do proxy não precisará ter acesso aos certificados (considerando que essa é uma configuração do Docker, há uma enorme quantidade de volumes montados, o que resulta em ainda mais manutenção).
Você entendeu mal a "falta" do suporte ao SNI.
Primeiro, nginx
geralmente é bom para configuração SSL" curinga ". O problema de suporte está em clientes antigos (ou seja, navegadores), que não são capazes de lidar com o SNI .
Tags nginx https reverse-proxy sni haproxy