Com base na sua configuração publicada, o nginx está funcionando corretamente.
Os blocos a seguir devem ser uma maneira de conseguir o que você está tentando fazer:
server {
listen 80;
listen 443 ssl;
server_name example.com;
ssl_certificate /path/to/ssl.crt;
ssl_certificate_key /path/to/server.key;
return 301 https://example.fr$request_uri;
}
server {
listen 80;
listen 443 ssl;
server_name www.example.com;
ssl_certificate /path/to/ssl.crt;
ssl_certificate_key /path/to/server.key;
return 301 https://www.example.fr$request_uri;
}
Minha experiência é que não incluir a configuração SSL apropriada em um bloco de servidores de encaminhamento resultará no link e link que causa avisos de segurança do navegador sem redirecionamento.