Proxy Nginx baseado em SNI sem descriptografia

3

No momento, estou usando a seguinte configuração (simplificada) para as conexões http e https do proxy na mesma porta (exigida pelo aws beanstalk elástico):

server {
    listen 777 ssl;
    server_name foo.com;
    ssl_certificate /etc/nginx/ssl/foo.crt;
    ssl_certificate_key /etc/nginx/ssl/foo;

    root /usr/share/nginx/www;
    index index.html index.htm;

    error_page 418 = @upstream;
    error_page 497 = @upstream;

    location / {
        return 418;
    }

    location @upstream {
        proxy_set_header  X-Forwarded-Proto  $scheme;
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
        proxy_pass http://127.0.0.1:8080;
    }
}

Eu quero mudar o upstream para o uwsgi e deixar o uwsgi manipular ssl porque isso simplificaria a implantação.

Como posso ajustar minha configuração para trabalhar com HTTPS HTTPS e HTTP sem o Nginx descriptografar o tráfego ssl?

    
por user319862 12.09.2014 / 19:54

2 respostas

1

NÃO , você não pode fazer com o Nginx. Por padrão, o Nginx está sempre descriptografando conteúdo, portanto, o Nginx pode aplicar o roteamento de solicitações. Alguma solução que pode ser tentada:

  • Existem módulos de terceiros chamados nginx_tcp_proxy_module . Eu não tentei ainda. Como esse módulo faz proxy na camada de rede, ele passará pela solicitação sem descriptografia.

  • A solução preferida é usar HAProxy. Este tutorial sugira que você pode fazer proxy TCP com recursos SNI.

Sidenote

Por padrão, o Nginx sempre age como processo de descarregamento / descriptografia de SSL no proxy. Aqui estão algumas vantagens de descarregar SSL (tiradas de aqui )

  • Melhor desempenho
  • Melhor utilização dos servidores backend
  • Roteamento inteligente
  • Gerenciamento de certificados
  • Patches de segurança
por 13.09.2014 / 17:07
2

Parece que isso agora é suportado usando o [ngx_stream_ssl_preread_module](https://nginx.org/en/docs/stream/ngx_stream_ssl_preread_module.html} module

    
por 14.03.2018 / 04:43

Tags