Apenas altere $scheme
para https
, não sei dizer por que isso está lá, já que é improvável que você consiga algo diferente de http
na porta 80, a menos que seus usuários estejam fazendo algo estranho.
EDIT: Adicione redirecionamento https- > https em falta.
Não notou que você não tem um default_server
explícito.
Vá com algo nos moldes de:
server {
listen 80;
server_name example.com www.example.com;
return 301 https://www.example.com$request_uri;
}
server {
listen 443;
server_name example.com;
return 301 https://www.example.com$request_uri;
}
A resposta de Ashish pode funcionar, mas eu ficaria longe de if
o máximo possível (leia Se é mal ).