Iniciante Fundamentos
HTTPS e SSL
HTTPS protege a comunicação entre o navegador e o servidor com criptografia. Para ativar, o Nginx precisa de um certificado SSL.
Escutando na porta 443
O HTTPS usa a porta 443. Ative com a opção ssl:
server {
listen 443 ssl;
server_name exemplo.com;
ssl_certificate /etc/nginx/ssl/exemplo.crt;
ssl_certificate_key /etc/nginx/ssl/exemplo.key;
root /var/www/exemplo;
}
A diretiva ssl_certificate aponta o certificado e ssl_certificate_key a chave privada.
Redirecionando HTTP para HTTPS
É comum forçar todos os visitantes a usar HTTPS. Crie um bloco na porta 80 que redireciona:
server {
listen 80;
server_name exemplo.com;
return 301 https://$host$request_uri;
}
O código 301 indica redirecionamento permanente, e $host$request_uri mantém a URL original.
Certificados gratuitos
Você pode obter certificados grátis com o Let’s Encrypt usando a ferramenta Certbot, que também configura o Nginx automaticamente.
Resumo
Use listen 443 ssl com ssl_certificate e ssl_certificate_key para servir HTTPS. Adicione um bloco na porta 80 com return 301 para forçar o uso de HTTPS.