en Tutoriales

Como montar un servidor apache2 con ssl (https) en Docker

Ante la ausencia de ninguna guía o tutorial completo en internet para montar con docker un servidor http con apache2 y configurarlo para funcionar con mediante https, he decidido publicar esta entrada.

Antes de nada comentar que esta guía ha sido pensada para montar un servidor de pruebas, si se va a montar un servidor en producción es posible que tengas que realizar configuraciones de seguridad a mayores.

Lo primero necesitamos tener Docker instalado y funcionando. Vamos a partir de la imagen creada por MarvAmBass llamada docker-apache2-ssl-secure: https://github.com/MarvAmBass/docker-apache2-ssl-secure

Ahora vamos a crear un certificado SSL y firmarlo nosotros mismos, para ello vamos a ejecutar el siguiente comando. (al hacerlo así nos saltará una advertencia en el navegador al intentar entrar a nuestra página, si queremos evitar esto tendríamos que comprar un certificado a una entidad verificadora).

mkdir key
cd key
openssl req -x509 -newkey rsa:4086 \
-keyout key.pem -out cert.pem \
-days 3650 -nodes -sha256

Esto generará un archivo key.pem y un archivo cert.pem dentro de la carpeta key.

Ahora vamos a crear la carpeta www donde irán los archivos html que cargará el servidor web.

 


mkdir www
echo "hola mundo" > index.html

Y por último lanzamos el servidor especificando la carpeta en la que se encuentran las claves y la carpeta donde se encuentran los archivos fuente.

docker run -d -p 80:80 -p 443:443 -v $(pwd)/key/:/etc/apache2/external/ -v $(pwd)/www/:/var/www/html/ marvambass/apache2-ssl-secure

Podemos comprobar que la imagen de Docker está funcionando con el comando docker ps además si navegamos hacia la ruta de nuestro servidor https://localhost/ debería cargar el archivo de prueba que creamos anteriormente.

Creative Commons License
Todohacker by 4m1g0 is licensed under a Creative Commons.

Escribe un comentario

Comentario