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.