Cómo activar el soporte SSL de apache-2 para utilizar HTTPS y navegación segura. Los pasos que se describen son para una Debian o sucedaneos, pero supongo que no será muy distinto a otra distro.

Ingredientes

  • apache2

Crear el certificado SSL

Esto se explica en su propia receta

Configuración del puerto

Edita el fichero /etc/apache2/ports.conf para que quede así:

Listen 80
Listen 443

Crea un fichero nuevo en /etc/apache2/sites-available que representa un nuevo sitio web. Por ejemplo lo puedes llamar “site-ssl” y debe contener algo como esto:

<VirtualHost *:443>
    ServerName www.example.com
    ServerAlias example

    SSLEngine on
    SSLCertificateFile    /etc/apache2/ssl.crt/server.crt
    SSLCertificateKeyFile /etc/apache2/ssl.crt/server.key

    ...

Habilita tu nuevo site

# a2ensite site-ssl

Activa el módulo SSL

# a2enmod ssl

Fuerza a apache a leer la nueva configuración

# /etc/init.d/apache2 force-reload

Y si todo ha ido bien, ya tienes tu sitio SSL tan profesional como el que más.

Sólo SSL

Es posible que quieras que tu website sólo esté accesible con SSL. El problema es que si alguien pone la URL con http:// en lugar de https:// obtendrá un bonito error.

En ese caso, lo más fácil es crear un VirtualHost no-SSL que redireccione todas las peticiones al VirtualHost SSL. Para eso, crea un fichero /etc/apache2/sites-available/redir y escribe esto dentro:

<VirtualHost *:80>
    RewriteEngine on
    RewriteLog /var/log/apache2/https_rewrite.log
    RewriteLogLevel 1
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [L,R]
</VirtualHost>

Y ejecuta:

# a2ensite redir
# /etc/init.d/apache2 restart

Referencias



blog comments powered by Disqus