Primeiro, você precisa ativar o SSL / TLS no seu nginx.conf
:
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name example.org;
ssl_certificate /etc/ssl/example.org.crt;
ssl_certificate_key /etc/ssl/private/example.org.key;
As duas linhas listen
permitem o SSL na sua conexão IPv4 e IPv6. Se você não tiver IPv6, poderá deixar de fora a segunda linha listen
.
Suponho que o certificado do seu servidor esteja em /etc/ssl
. Se você usar outro caminho, você mudaria as duas últimas linhas.
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
Isso permite diferentes versões do TLS. Todos os navegadores atuais podem usar o TLS1.2. Para navegadores mais antigos, eu escrevi um pequeno recurso para ativar as configurações de segurança .
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA;
ssl_prefer_server_ciphers on;
A primeira linha define as cifras que o seu nignx deve usar. A segunda linha prefere os conjuntos de criptografia no lado do servidor (e não do cliente). Então você pode usar cifras strongs (er).
Se você terminou, seu nginx deve usar o TLS1.2. Se desejar, você pode adicionar seu site a um TLS1.2 hall of fame e tenha orgulho. ;)
No entanto, existem vários métodos para melhorar as configurações. Eu sigo este guia alemão para configuração segura do nginx .