Terminação SSL com HAProxy e Nginx no Ubuntu

2

Eu tenho acompanhado este tutorial:

link

... mas eu tenho tido problemas para se conectar ao Nginx através do HAProxy via SSL.

Estou recebendo Error 107 (net::ERR_SSL_PROTOCOL_ERROR): SSL protocol error. no Chrome após o redirecionamento HTTP para HTTPS e (Error code: ssl_error_rx_record_too_long) no Firefox.

Acho que tem algo a ver com a concatenação de arquivos para criar um arquivo .pem .

Coisas que eu tentei:

  • Desabilitando o HAProxy e acessando o Nginx diretamente usando SSL que funciona
  • Não usando SSL no HAProxy para acessar o Nginx, isso também funciona
  • Como criar novos certificados SSL seguindo estas etapas: link
  • Verificando permissões em arquivos de certificado SSL

Configuração do meu Nginx:

server {
    listen   8080 ssl; ## listen for ipv4; this line is default and implied

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

    server_name localhost;

    ssl_certificate /etc/ssl/certs/server.crt;
    ssl_certificate_key /etc/ssl/private/server.key;

    ssl_session_timeout 5m;

    ssl_protocols SSLv3 TLSv1;
    ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
    ssl_prefer_server_ciphers on;

    location / {
            # First attempt to serve request as file, then
            # as directory, then fall back to displaying a 404.
            try_files $uri $uri/ /index.html;
            # Uncomment to enable naxsi on this location
            # include /etc/nginx/naxsi.rules
    }

    location /doc/ {
            alias /usr/share/doc/;
}

Eu também tenho 3 arquivos SSL:

  • /etc/ssl/certs/server.crt
  • /etc/ssl/private/server.key
  • ambos foram concatenados em /etc/ssl/server.pem key primeiro segundo conforme o tutorial indica.

Para complicar ainda mais as coisas, estou executando o Ubuntu 12.04 em Vagrant .

Obrigado,

Ash

    
por Ash 29.03.2013 / 21:23

1 resposta

2

OK, houve alguns problemas com isso.

O primeiro é que eu estava habilitando o SSL em ambos, HAProxy e Nginx, o que é desnecessário e causaria problemas por si só. Então eu desabilitei o SSL na minha configuração Nginx e reiniciei.

O segundo problema foi que eu estava tentando acessar este servidor (que estava em uma máquina virtual convidada) através de localhost , que funcionou parcialmente porque a porta 80 estava sendo encaminhada corretamente. No entanto, quando se trata de redirecionar HTTP tráfego para HTTPS , ele falharia.

Eu estou supondo que isso é porque o HAProxy foi redirecionado para outra porta.

De qualquer forma, acessar o servidor através do endereço IP real funciona.

    
por 30.03.2013 / 21:46