Apache2 com SSL - Configuração para forçar uso de HTTPS ao invés de HTTP

O artigo fornece informações para gerar chaves SSL e configurar o Apache2 para suporte HTTPS, além de mostrar como forçar o uso de HTTPS ao invés de HTTP.

[ Hits: 19.944 ]

Por: Rogerio Lopes Silva em 27/06/2016 | Blog: http://brsrogers.com.br


Criando chaves SSL Apache2 no FreeBSD 10



O Apache2 com SSL funciona através de um certificado reconhecido na web. Para gerar o certificado (CSR) será necessário a criação de uma chave, essa chave deverá conter no mínimo 08 caracteres, a criptografia usada nessa chave é a DES3. Essa chave ficará no arquivo "server.key".

Será necessário criar o diretório onde a chave será gerada, o usuário deve digitar os comandos abaixo para criação do diretório e da chave:

# mkdir /usr/local/etc/ssl
# cd /usr/local/etc/ssl
# openssl genrsa -des3 -out server.key 1024

1° Passo

Com a chave criada, é importante acrescentar informações. Após digitar o comando abaixo, ele pedirá a chave e para preencher alguns dados. São os dados que serão visualizados referentes ao criador do certificado:

# openssl req -new -key server.key -out server.csr

Para evitar que toda vez que o usuário reiniciar o Apache2 seja solicitada uma senha, ou caso haja um restart por algum motivo, o serviço não suba requerendo a digitação de uma senha.

Os comandos abaixo fazem com que o Apache2 não peça a chave em caso de restart do serviço, ou seja, ele faz a autenticação automaticamente:

# openssl rsa -in server.key -out server.key.insecure

Executado o comando acima deverá ser feita a substituição do arquivo atual pelo criado. Antes desse passo, o usuário deve fazer uma cópia de segurança do arquivo atual ou renomear o arquivo "server.key". Com o comando abaixo, será feita a renomeação e o arquivo permanecerá na mesma pasta:

# mv server.key server.bak

Após a renomeação do arquivo, será feita a renomeação do arquivo criado, que fará com que não seja mais pedida a chave quando houver restart do serviço. O comando será o seguinte:

# mv server.key.insecure server.key

2° Passo

O certificado será criado com o comando abaixo:

# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

No comando para instalação do "server.key" vai dar uma mensagem, isso porque foi criado no próprio diretório onde ele seria instalado. Se tivesse sido criado em outro diretório, não haveria a mensagem.

3° Passo

Será necessário efetuar a instalação da chave e do certificado anteriormente criados com os seguintes comandos:

# mkdir p /usr/loca/etc/ssl/certs
# mkdir p /usr/loca/etc/ssl/private
# cp server.crt /usr/loca/etc/ssl/certs/apache.crt
# cp server.key /usr/loca/etc/ssl/private/apache.key

    Próxima página

Páginas do artigo
   1. Criando chaves SSL Apache2 no FreeBSD 10
   2. Configurando httd.conf e forçando o uso de HTTPS no FreeBSD 10
Outros artigos deste autor

Acentuação gráfica no console FreeBSD/FreeNAS e montagem de pastas de compartilhamento Windows com acentuação

BIND DNS Active Directory Windows 2008

Leitura recomendada

Servidor de impressão com cotas no FreeBSD (CUPS + PostgreSQL + PyKota)

FreeBSD Release 11.1 - Introdução, instalação e customização

FreeBSD 10 com GNOME 2 - Instalação no VirtualBox

Instalação de Aplicativos no FreeBSD

Introdução ao FreeBSD

  
Comentários
[1] Comentário enviado por Lisandro em 28/06/2016 - 09:26h

Belo artigo. Parabéns!

[2] Comentário enviado por Mc.Eagle em 06/07/2016 - 16:15h

Excelente texto, assim que eu tiver tempo irei efetuar a configuração.

[3] Comentário enviado por andre227 em 07/11/2017 - 23:17h

Amigo pretendo comprar um certificado, mas não sei como instalar. Procurando na NET só vejo tutorial ensinando com o open ssl. Você poderia me recomendar um tutorial pra instalar um certificado pago?

Obrigado!


Contribuir com comentário