Assim como um resumo, a maneira correta de configurar esses redirecionamentos é:
server {
listen 80;
server_name example.com www.example.com;
return 301 https://www.example.com$request_uri;
}
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-RSA-AES128...;
return 301 https://www.example.com$request_uri;
}
server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
... rules for the actual website ...
}
Então, temos um bloco de servidor para http para os domínios example.com
e www.example.com
fazendo os redirecionamentos.
Em seguida, temos um bloco de servidor para https para o domínio example.com
fazendo o redirecionamento.
Em seguida, temos o bloco de servidor para https do domínio www.example.com
, que contém a configuração do site real.