Depois de testar isso eu mesmo, tive que editar minha resposta original porque isso levou a um erro conflicting server name
.
Infelizmente, não posso dizer por que você ainda recebe esse loop de redirecionamento - talvez o erro venha do seu include. Mas posso apresentar uma configuração funcional (testada) que realiza o que você estava pedindo:
Geralmente: Para um redirecionamento simples, é recomendável usar a diretiva return
em vez de redirect
( link )
Objetivo: Seja qual for a combinação
- do esquema (
http
ouhttps
) - e domínio (
example.com
ouwww.example.com
)
você digita no navegador, você será redirecionado para https://www.example.com
Aqui está a configuração:
server {
listen 80;
server_name www.example.com redirecttest.de;
return 301 https://www.example.com$request_uri;
}
server {
listen 443 ssl http2;
server_name www.example.com;
root /var/www/example.com/http;
ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
}