Cómo activar el acceso mediante HTTPS para un sitio web de desarrollo con XAMPP y Apache, usando un certificado autofirmado.

Requisitos para activar acceso HTTPS a sitio web con XAMPP y Apache

Necesitaremos genera el certificado autofirmado necesario para activar el acceso HTTPS (mediante TLS) a un sitio web local en desarrollo con XAMPP y Apache. Para generar este certificado podemos seguir los pasos del siguiente tutorial:

En la generación del fichero CRS, en el manual anterior, en el atributo «Common Name» estableceremos el valor: localhost, dado que realizaremos el acceso HTTPS al sitio web local para pruebas y desarrollo.

Activar acceso HTTPS en sitio web Apache con XAMPP

Un vez generados los ficheros de certificado y de clave privada, copiaremos cada uno de ellos a su carpeta correspondiente de la instalación de XAMPP. Buscaremos la carpeta «…\xampp\apache\conf\ssl.crt» y pegaremos el fichero certificado.crt:

Copiaremos el fichero de la clave privada certificado.key a la carpeta «…\xampp\apache\conf\ssl.key«:

Editaremos el fichero de configuración HTTPS de Apache de XAMPP, que suele estar ubicado en «…\xampp\apache\conf\extra\httpd-ssl.conf«. Buscaremos la clave «SSLEngine», si está, estableceremos el valor de esta clave a «on», si no está lo añadimos, quedando:

SSLEngine on

Buscaremos la clave «SSLCertificateFile», estableciendo el valor «conf/ssl.crt/certificado.crt», quedando:

SSLCertificateFile «conf/ssl.crt/certificado.crt»

Repetiremos el proceso con la clave «SSLCertificateKeyFile», que dejaremos con el valor «conf/ssl.key/certificado.key», quedando:

SSLCertificateKeyFile «conf/ssl.key/certificado.key»

Si no hemos establecido una clave en la generación del fichero de clave privada, podremos detener e iniciar el servicio de Apache de XAMPP para aplicar los cambios. Si tenemos el servicio instalado, lo buscaremos en «services.msc» y lo reiniciaremos (habitualmente se llama Apache2.4). Si no lo tenemos instalado, abriremos el panel de control de XAMPP y lo detendremos e iniciaremos (Stop/Start):

Si hemos establecido una palabra de paso (clave o contraseña) en la generación del fichero de clave privada, al intentar iniciar el servicio, nos mostrará este error (consultable en el fichero error.log de Apache):

Para solucionar este error seguiremos los pasos de este tutorial:

Comprobar acceso HTTPS a sitio web local con Apache y XAMPP

Una vez activado el acceso HTTPS al servidor web Apache con XAMPP, accederemos al sitio web local de desarrollo mediante HTTPS:

https://localhost

Nos mostrará el sitio web, en HTTPS y nos advertirá indicando «No seguro». Esta advertencia es debida a que hemos usado un certificado autofirmado, firmado por nosotros mismos y no por una autoridad de certificación (AC). Si pulsamos en «No seguro»:

Podremos obtener los datos del certificado usado para el HTTS, pulsando en «Su conexión con este sitio no es segura»:

Pulsaremos en el icono del certificado;

Y podremos consultar todos sus datos: nombre común, organización, fecha de expiración, etc.: