Este artigo fornece informações sobre como instalar um certificado digital em seu servidor Nginx.
Instalando o seu Certificado
Você vai precisar de:
Seu certificado em formato PEM (Raiz, Raiz intermediária e Arquivo do seu certificado)
Juntar (Concatenar) vários certificados em um só arquivo
Lembre-se de que os nomes utilizados neste tutorial são somente EXEMPLOS.
Se você recebeu três arquivos .crt:
1 – Utilizando o comando cat (em sistemas operacionais Unix e semelhantes):
cat www_seudominio_com.crt RSAOrganizationValidationSecureServerCA.crt
RSAAddTrustCA.crt AddTrustExternalCARoot.crt >> ssl_bundle.crt
Configure seu Virtual Host nginx
Mova o recém criado ssl_bundle.crt para o local onde você salva os arquivos de certificados (p. ex. /etc/ssl/certs/).
- Crie/Modifique o arquivo de configuração do seu site, que pode estar nos seguintes locais:
* /etc/nginx/sites-available/
* /usr/local/nginx/sites-available/
- Certifique-se dos seguintes itens:
– ‘ssl’ deve estar em ‘on’.
– Configure ‘listen’ para a sua porta SSL; geralmente a 443.
– Configure ‘ssl_certificate’ para o local onde você salvou o certificado.
– Configure ‘ssl_certificate_key’ para o local onde você salvou a chave privativa.
3.Você também pode configurar o seguinte:
— ssl_ciphers ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM;
#Desabilita todas as cifras fracas.
— ssl_protocols SSLv3 TLSv1;
#Habilita SSLv3/TLSv1, mas não SSLv2, que é fraco e não deve mais ser utilizado.
4.Exemplo de um Virtual Host Nginx com SSL configurado
server {
listen 443;
ssl on;
ssl_certificate /etc/ssl/certs/ssl_bundle.crt;
ssl_certificate_key /etc/ssl/private/meusite.key;
#Habilita SSLv3/TLSv1, mas não SSLv2, que é fraco e não deve mais ser
utilizado.
ssl_protocols SSLv3 TLSv1;
#Desabilita todas as cifras fracas
ssl_ciphers ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM;
server_name meusite.com.br;
}
Salve seu arquivo reinicie o Nginx.
nginx –s reload
Aplicando as configurações demonstradas neste artigo podemos efetuar com sucesso a configuração do nosso certificado digital no servidor web Nginx.