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.
- Activar acceso HTTPS en sitio web Apache con XAMPP.
- Comprobar acceso HTTPS a sitio web local con Apache y XAMPP.
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):
1 |
[Mon Oct 28 21:07:22.129649 2024] [ssl:emerg] [pid 36288:tid 372] AH02577: Init: SSLPassPhraseDialog builtin is not supported on Win32 (key file D:/xampp/apache/conf/ssl.key/certificado.key) |
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.:
