Certificado SSL é uma maneira de criar uma conexão mais segura criptografando as informações transmitidas entre o cliente e o servidor onde o certificado está instalado. Este certificado ainda exibe informações de identificação do servidor diretamente no browser do usuário.
Certificados SSL normalmente são emitidos por empresas chamadas de Certificate Authorities que verifica os detalhes do servidor, mas também é possível emitir Self-signed SSL certificate.
O presente post explica os procedimentos de como criar self-signed certificate e configurar no Nginx com Debian/Ubuntu.
Requisitos:Ter o Nginx instalado.
Instalação do Nginx
$ sudo apt install nginx
Reiniciar o serviço Nginx
$ sudo systemctl restart nginx
Criar o certificado Self-Signed SSL (não assinado)
$ sudo mkdir /etc/nginx/ssl
$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt
O comando acima irá criar dois arquivos nginx.key e nginx.crt necessários para configurar Nginx HTTPS server.
Esse certificado tem validade por 1 ano.
Ao executar o comando acima irá perguntar conforme abaixo:
Country Name (2 letter code) [AU]:BR
State or Province Name (full name) [Some-State]:Nome do Estado
Locality Name (eg, city) []:Nome da Cidade
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Nome da Empresa fictícia
Organizational Unit Name (eg, section) []:Departamento de TI
Common Name (e.g. server FQDN or YOUR name) []: nome definido no ServerName do Vhost
Email Address []:seu_email@dominio.com.br
Configurar o Nginx HTTPS server com certificado SSL no Vhost
$ sudo vim /etc/nginx/sites-available/projeto-ssl.conf
PS: Substituir o destacado em vermelho para o seu cenário de projeto do Vhost
server { listen 443 ssl; server_name projeto.local; ssl_certificate /usr/local/nginx/ssl/nginx.crt; ssl_certificate_key /usr/local/nginx/ssl/nginx.key; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; root /var/www/html/projeto; index index.php; charset utf-8; location ~ /(\.ht) { deny all; return 404; } location ~ ^(.+\.php)(.*)$ { try_files $fastcgi_script_name =404; include /etc/nginx/fastcgi_params; fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } }Reiniciar o Nginx
$ sudo systemctl restart nginx
Adicionar o Vhost no arquivo /etc/hosts
127.0.0.1 projeto.local
No browser acessa https://projeto.local
Feito!
Nenhum comentário:
Postar um comentário