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 Apache com Debian/Ubuntu.
Requisitos:Ter o Apache instalado e os módulos ssl e mod_rewrite habilitados.
Instalação do Apache e habilitar os módulos ssl e mod_rewrite
$ sudo apt install apache2
$ sudo a2enmod ssl
$ sudo a2enmod rewrite
Reiniciar o serviço Apache
$ sudo systemctl restart apache2
Criar o certificado Self-Signed SSL (não assinado)
$ sudo mkdir /etc/apache2/ssl
$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
O comando acima irá criar dois arquivos apache.key e apache.crt necessários para configurar Apache 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 Apache HTTPS server com certificado SSL no Vhost
$ sudo vim /etc/apache2/sites-available/projeto-ssl.conf
PS: Substituir o destacado em vermelho para o seu cenário de projeto do Vhost
< IfModule mod_ssl.c > < VirtualHost _default_:443 > ServerAdmin webmaster@localhost DocumentRoot /var/www/html/projeto ServerName projeto.local RewriteEngine On < Directory "/var/www/html/projeto" > Options None Options +FollowSymlinks AllowOverride All < /Directory > ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key < FilesMatch "\.(cgi|shtml|phtml|php)$" > SSLOptions +StdEnvVars < /FilesMatch > < Directory /usr/lib/cgi-bin > SSLOptions +StdEnvVars < /Directory > BrowserMatch "MSIE [2-6]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown < /VirtualHost > < /IfModule >Ativar o Vhost
$ sudo a2ensite projeto-ssl.conf
Reiniciar o Apache
$ sudo systemctl restart apache2
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