Crear un sitio web SSL con Apache2

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

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de brue

Fantástico...

...muchas gracias.

Por cierto, creo que tienes una errata en la parte de sólo ssl en la entrada de virtualhost... y en el "strong" lo mismo... quizá mejor usar texto plano para esa parte Sticking out tongue Está pillando el asterisco como parte de .. textile? no sé ... échale un vistazo.

brue

Imagen de david.villa

Arreglado, gracias

Arreglado, gracias

No soy portavoz de ningún colectivo, grupo o facción. Mi opinión es personal e intransferible.