Configurar SSL Let’s Encrypt en Windows Server Apache

Advertisement

Proteger un sitio web con SSL es un paso crucial en la era digital actual. Este artículo te guía a través del proceso de configuración de SSL Let’s Encrypt en Windows utilizando un servidor Apache, proporcionando un tutorial práctico para obtener un certificado SSL gratuito y válido.

Advertisement

Secure Sockets Layer (SSL) o su sucesor, Transport Layer Security (TLS), es un protocolo criptográfico vital. Está diseñado para proteger la comunicación de datos entre el navegador del usuario y el servidor de un sitio web. Al activar SSL, creas una vía encriptada que protege la información confidencial de la interceptación.

Los beneficios de usar SSL van más allá de la seguridad. Este certificado también genera confianza en los visitantes. Los navegadores modernos muestran un ícono de candado y el prefijo HTTPS en la barra de direcciones para sitios seguros. Además, SSL es un factor positivo de posicionamiento para motores de búsqueda como Google.

Advertisement

A continuación, se presenta una guía completa para configurar un certificado SSL Let’s Encrypt en Windows con el servidor web Apache, utilizando el cliente popular llamado win-acme.

Requisitos Previos de Configuración

  • Un equipo que ejecute Windows o Windows Server.
  • Apache 2.4 (por ejemplo, de un paquete XAMPP) instalado. Esta guía asume una ruta de instalación en C:\xampp\apache.
  • Un dominio o subdominio ya apuntado (mediante un registro DNS A) a la dirección IP de tu servidor web.
  • Acceso para ejecutar el Símbolo del sistema (CMD) como Administrador.

Paso 1: Descargar el Cliente Win-ACME

Utilizaremos el cliente oficial, win-acme (anteriormente letsencrypt-win-simple), que soporta el protocolo ACMEv2 para obtener certificados de Let’s Encrypt. Visita la página de lanzamientos de win-acme en GitHub. Descarga la última versión estable (por ejemplo, win-acme.v2.x.x.x64.pluggable.zip).

Advertisement

Una vez descargado, extrae el contenido del archivo ZIP a una carpeta, por ejemplo, C:\win-acme.

Paso 2: Ejecutar Win-ACME

Abre la carpeta C:\win-acme. Luego, ejecuta el archivo wacs.exe haciendo clic derecho y seleccionando «Ejecutar como administrador«. Se abrirá la interfaz de línea de comandos de win-acme.

Interfaz inicial de win-acme Let's Encrypt en el Símbolo del sistema de Windows
Figura 1: Interfaz principal de win-acme al iniciarse por primera vez.

Paso 3: Crear un Nuevo Certificado SSL de Let’s Encrypt

En la ventana principal de win-acme, escribe la letra M y presiona Enter para iniciar el proceso de creación de un nuevo certificado (Crear nuevo certificado).

Opciones del menú principal de win-acme para crear un nuevo certificado SSL
Selecciona la opción ‘M’ para crear un certificado Let’s Encrypt.

A continuación, se te pedirá elegir un tipo de entrada. Selecciona la opción 2 para «Entrada manual«. Esta opción es adecuada si deseas especificar el nombre de dominio directamente.

Selección del modo de entrada manual para el dominio del certificado Let's Encrypt

Ingresa tu nombre de dominio completo (ejemplo: bardimin.com) y presiona Enter. Si necesitas un certificado para un subdominio (como www.bardimin.com), puedes agregarlo en este paso separando los nombres con una coma.

Campo de entrada para ingresar el nombre de dominio objetivo para el certificado SSL

Luego, elige el método de validación. Para un servidor web Apache local, selecciona la opción 1: [http-01] Servir archivos de verificación en una ruta (de red).

Elección del método de validación de dominio http-01 en win-acme

Se te pedirá ingresar la ruta al directorio raíz de tu sitio web. Si usas XAMPP, la ruta suele ser C:\xampp\htdocs\.well-known\acme-challenge\. Sin embargo, simplemente puedes ingresar C:\xampp\htdocs. Win-acme creará automáticamente los subdirectorios necesarios.

Especificación de la ubicación del directorio raíz del sitio web para la validación de Let's Encrypt

Si se solicita copiar un archivo web.config, elige N (No). A continuación, selecciona el tipo de clave privada. La recomendación actual es la opción 2 (clave RSA) con un tamaño de 2048 o 4096 bits.

Elección del tipo y tamaño de clave RSA para el certificado SSL

Para el formato de almacenamiento, selecciona la opción 2: Archivos codificados en PEM (Apache, nginx, etc.). Este formato es compatible con Apache en Windows.

Selección del formato de archivo PEM para el certificado SSL de Apache

Especifica la carpeta para almacenar los archivos del certificado. Se recomienda almacenarlos dentro de la carpeta de configuración de Apache, por ejemplo, C:\xampp\apache\conf\ssl\. Crea primero la carpeta ssl si no existe. Alternativamente, puedes usar C:\xampp\apache\conf.

Especificación de la ubicación de almacenamiento para los archivos del certificado SSL generado

Para pasos de almacenamiento adicionales, selecciona 5: Sin pasos de almacenamiento (adicionales). Del mismo modo, para los pasos de instalación, selecciona 5: Sin pasos de instalación (adicionales). Configuraremos Apache manualmente.

Opciones para omitir pasos de almacenamiento e instalación adicionales

El siguiente proceso es aceptar los Términos de Servicio de Let’s Encrypt. Se te pedirá abrir el documento de Términos de Servicio (elige S o N) y luego aceptarlos (debes elegir S). Para el correo de notificación, puedes dejarlo en blanco presionando Enter.

Proceso de aceptación de los términos de servicio de Let's Encrypt en win-acme

Win-acme ahora ejecutará el proceso de solicitud y validación del certificado. Si tiene éxito, verás un mensaje de éxito y la ubicación de los archivos del certificado. Normalmente, se crean dos archivos principales: bardimin.com-chain.pem (el certificado combinado) y bardimin.com-key.pem (la clave privada).

Pantalla de generación exitosa del certificado SSL Let's Encrypt en Windows
Figura 2: Validación y emisión exitosa de un certificado SSL Let’s Encrypt en Windows.

Paso 4: Configurar Apache para Usar el Certificado SSL

Después de crear el certificado, debes configurar el host virtual de Apache para el puerto HTTPS (443). Abre el archivo httpd-ssl.conf o tu archivo de configuración principal del host virtual (normalmente ubicado en C:\xampp\apache\conf\extra\httpd-ssl.conf o C:\xampp\apache\conf\httpd.conf).

Añade o edita el bloque de configuración VirtualHost para el puerto 443. Asegúrate de que las rutas a los archivos del certificado y la clave privada coincidan con tu ubicación de almacenamiento.

<VirtualHost *:443>
    ServerName bardimin.com
    DocumentRoot "C:/xampp/htdocs/bardimin.com"
    
    SSLEngine on
    SSLCertificateFile "conf/ssl/bardimin.com-chain.pem"
    SSLCertificateKeyFile "conf/ssl/bardimin.com-key.pem"
    
    <Directory "C:/xampp/htdocs/bardimin.com">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Guarda los cambios de configuración. Luego, reinicia el servicio Apache a través del Panel de Control de XAMPP o el Símbolo del sistema.

Paso 5: Verificar la Instalación Exitosa del SSL

Abre un navegador y accede a tu sitio web usando HTTPS, por ejemplo, https://bardimin.com. Si la configuración es exitosa, verás un ícono de candado a la izquierda de la barra de direcciones. Haz clic en el ícono del candado para ver los detalles del certificado, incluido el emisor «Let’s Encrypt» y el período de validez.

Ícono de candado en el navegador que indica una conexión HTTPS segura con SSL activo
Indicador de conexión segura (HTTPS) en el navegador después de la aplicación exitosa del certificado SSL.

Importante: Los certificados de Let’s Encrypt solo son válidos por 90 días. Sin embargo, win-acme normalmente se programa automáticamente como una tarea del Programador de tareas de Windows para renovar el certificado antes de que expire. Puedes verificar esto en la aplicación «Programador de tareas» de Windows.

Siguiendo los pasos anteriores, tu sitio web ahora está protegido por un certificado válido de SSL Let’s Encrypt. Este proceso no solo mejora la seguridad, sino que también aumenta la credibilidad de tu sitio ante los ojos de los usuarios y los motores de búsqueda. ¡Felicidades!

Artículos Recientes