Usar SSL com redirecionamentos de não http causa o loop de redirecionamento?

1

Recentemente, configurei o letsencrypt com meu site, e o SSL funciona perfeitamente. No entanto, quando eu configuro o Nginx para redirecionar HTTPS para HTTPS, recebo um loop de redirecionamento no qual, quando você visita o site e atualiza as alterações de URL de um lado para outro, de example.com para https://example.com .

Esta é minha configuração:

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl;
    server_name example.com;
    root /var/www;
    index index.html;        

    # ssl_certificate, etc...

    location / {
        try_files $uri $uri/ /index.html =404;
    }
}

O que estou fazendo incorretamente aqui que causa o loop de redirecionamento?

    
por mosmo 06.02.2016 / 01:14

1 resposta

0

Tente adicionar ssl on; abaixo da linha listen 443 ssl; e desabilite o desabilitar SSLv3

server {
listen      80;
server_name example.com www.example.com;
listen 443 ssl;
ssl on;
server_name example.com;
ssl_certificate     www.example.com.crt;
ssl_certificate_key www.example.com.key;
ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers         HIGH:!aNULL:!MD5;

location / {
  rewrite     ^(.*)   https://example.com$1 permanent;
}
...

Ou você também pode usar retornar mais rápido do que reescrever nos blocos de localização do niginx:

location / {
  return ^(.*)   https://example.com$1 permanent;
}

Uma vez SSL concluído Você pode testar seu certificado SSL no link

Para criar um certificado de cadeia:

 cat www.example.com.crt bundle.crt > www.example.com.chained.crt

 ssl_certificate     www.example.com_chain.crt;
 ssl_certificate_key www.example.com.key;
    
por Ramesh Chand 06.02.2016 / 05:49