Apache SSL Localhost

  • author Jordi Touza Bonnin
  • 29 d'agost de 2021

Sigui per seguretat o imposició de Google els llocs amb certificat SSL són ja indispensables. Un entorn de desenvolupament sota HTTPS no sol ser necessari, tot i així en qualsevol cas, ens ajudarà a assegurar-nos que el lloc està programat adequadament per treballar sota el protocol HTTPS.

Com crear el certificat

Generar la clau

Crear una carpeta accessible anomenada per exemple ssl a la nostra carpeta d'usuari.

$ mkdir ssl
$ cd ssl
$ openssl genrsa -des3 -out serverSSL.key 2048

Et demanarà que afegeixis un mot de pas.

Generar CSR

$ openssl req -new -key serverSSL.key -out serverSSL.csr
  • Introduir el mot de pas prèviament creat.
  • Segueix l'assistent i omple els camps amb el que vulguis, però fixa atenció als següents:
    • Common Name El domini que vols fer servir, per exemple: localhost, exemple.com, server.dev o *.server.dev
    • Challenge pass: Ho pots deixar en blanc.

Generar el certificat

$ openssl x509 -req -days 1825 -in serverSSL.csr -signkey serverSSL.key -out serverSSL.crt

Introdueix novament el mot de pas.

Configurar Apache

Habilitar el mòdul SSL de l'apache

$ sudo a2enmod ssl

Exemple Virtualhost

$ cd /etc/apache2/sites-enabled
$ touch server.dev.conf
<VirtualHost *:80>
  ServerName server.dev
  ServerAlias www.server.dev
  Redirect permanent / https://server.dev
</VirtualHost>

<VirtualHost *:443>

  ServerName server.dev
  ServerAlias www.server.dev
  
  DocumentRoot /var/www/www.server.dev

  <Directory /var/www/www.server.dev/public>
    Options FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>

  ## Logging
  ErrorLog /var/log/apache2/www.server.dev.log
  LogLevel warn
  ServerSignature Off
  CustomLog /var/log/apache2/www.server.dev.log combined

  ## SSL
  SSLEngine on
  SSLCertificateFile    /home/vagrant/ssl/serverSSL.crt
  SSLCertificateKeyFile /home/vagrant/ssl/serverSSL.key

</VirtualHost>

Habilitar el nuevo Virtualhost y reinciar el servidor Apache.

$ sudo a2ensite server.dev.conf
$ sudo service apache2 restart

Ara, cada vegada que reinicies Apache ens demana el mot de pas... Anem a solventar-ho.

openssl rsa -in [original.key] -out [new.key]

Des del navegador anem a https://www.server.dev i ens apareixerà un avís de seguretat perquè és un certificat auto-signat. Acceptem l'excepció de seguretat. Et voilà! Ja tenim el nostre lloc funcionant sota SSL en un entorn de desenvolupament local.

Deixa el teu comentari

Prem ESC per sortir