Solicitud y gestión automática de certificados SSL con Let's Encrypt en ServBay
En el desarrollo web moderno, simular un entorno de producción local resulta fundamental, lo cual incluye el uso de HTTPS. ServBay integra compatibilidad con el protocolo ACME (Entorno Automatizado de Gestión de Certificados), permitiéndole solicitar, instalar y gestionar fácilmente certificados SSL/TLS gratuitos a través de autoridades certificadoras como Let's Encrypt. Esta guía le mostrará detalladamente cómo emitir certificados usando Let's Encrypt en ServBay y aplicarlos a sus sitios de desarrollo local.
Los beneficios de usar certificados de Let's Encrypt incluyen: gratuidad, automatización, confianza generalizada y la posibilidad de probar funciones como HTTPS, Service Workers y HSTS en su sitio local.
Requisitos previos
Antes de solicitar certificados de Let's Encrypt, asegúrese de cumplir con los siguientes requisitos:
- Disponer de un dominio público: Debe ser propietario de un dominio registrado y disponible (por ejemplo:
servbay.demo
oyourdomain.com
). Let's Encrypt no emite certificados para direcciones IP locales ni para dominios no públicos como.local
. - Tener acceso a la gestión de los registros DNS del dominio: ServBay utiliza la API DNS para verificar la propiedad del dominio. Por lo tanto, necesita acceso al panel de control de su registrador o proveedor DNS (como Cloudflare, GoDaddy, AWS Route 53, etc.) y la capacidad de generar claves API para operaciones automatizadas.
- Generar una clave API para DNS: Según su proveedor DNS, tendrá que generar la clave o token correspondiente. Cada proveedor tiene su propio método. Generalmente, hay que generar una clave API con permisos de gestión de registros DNS. Consulte la WIKI de DNS API del proyecto acme.sh para detalles sobre cómo obtener la clave y los nombres de variables de entorno requeridos según su proveedor.
Pasos para la solicitud
A continuación se detallan los pasos para solicitar certificados SSL de Let's Encrypt desde ServBay:
Abra el panel de administración de ServBay: Inicie la aplicación ServBay y haga clic en el icono de la barra de menú. Seleccione "Panel de Administración" para abrir la interfaz web de gestión.
Vaya a la gestión de certificados SSL: En la barra lateral del panel de ServBay, ubique y haga clic en la opción
Certificados SSL
(SSL Certificates).Inicie una nueva solicitud de certificado: En la parte superior derecha de la página de la lista de certificados SSL, pulse el botón circular “+”. Esto abrirá una ventana para configurar la solicitud.
Rellene la información del certificado: En la ventana emergente “Solicitar Certificado” (Request Certificate), complete la información según las siguientes indicaciones:
- Nombre Común (Common Name): Escriba un nombre identificativo para el certificado, por ejemplo
servbay-demo-cert
omydomain-wildcard-cert
. - Propósito de Uso (Usage Purpose): Seleccione
TLS/SSL
. - Método de Solicitud (Request Method): Seleccione
ACME
. - Emisor (Issuer): Seleccione
Let's Encrypt
. - Proveedor de API DNS (DNS API Provider): Seleccione su proveedor de dominio o DNS del menú desplegable (por ejemplo,
cloudflare
corresponde a Cloudflare,godaddy
a GoDaddy). - Algoritmo (Algorithm): Se recomienda elegir
ECC
(Criptografía de Curva Elíptica) y la longitud de clave384
. Los certificados ECC son más pequeños y suelen ofrecer mejor rendimiento y seguridad que los RSA. - Correo Electrónico (E-Mail Address): Ingrese su dirección de correo electrónico válida. Let's Encrypt la usará para notificaciones importantes como expiración o fallos de renovación.
- Tokens API de DNS (DNS API Tokens): Ingrese aquí la clave o token API requerida por su proveedor DNS. Normalmente, estos datos se proporcionan como variables de entorno para el cliente ACME subyacente. Vea la documentación de su proveedor o la WIKI de DNS API de
acme.sh
para obtener los nombres y valores correctos de las variables. Importante: No antepongaexport
a las variables. Por ejemplo, para Cloudflare, debe ingresar algo comoCF_Key=sdfsdfsdffgfdg\[email protected]
(separando variables con\n
). - Dominio (Domain): Escriba el dominio a certificar. Para varios dominios o un wildcard (ej.
*.servbay.demo
), sepárelos con comas en inglés (,
) — por ejemplo:servbay.demo, www.servbay.demo, *.servbay.demo
. Recuerde que para wildcards debe usar la validación por API DNS.
Tenga en cuenta que en la captura el Common Name es "Test"; se recomienda usar un nombre más descriptivo en su caso real.
- Nombre Común (Common Name): Escriba un nombre identificativo para el certificado, por ejemplo
Envíe la solicitud: Tras verificar que la información es correcta, haga clic en el botón “Solicitar” (Request) al pie de la ventana.
Espere a que finalice la solicitud: ServBay ejecutará en segundo plano el cliente ACME, usando los datos de su API DNS para verificar la propiedad del dominio y solicitar el certificado a Let's Encrypt. Este proceso puede tardar unos minutos, dependiendo de la propagación DNS y la respuesta del servidor de Let's Encrypt. Una vez completado, el nuevo certificado aparecerá en la lista de certificados SSL de ServBay.
Uso del certificado
Una vez que el certificado aparezca como solicitado correctamente en la lista, puede aplicarlo a su sitio local:
- Vaya a la configuración del sitio: En el panel de administración de ServBay, haga clic en
Sitios web
(Websites) en la barra lateral. - Edite la configuración del sitio: Busque el sitio al que desea asignar el certificado y haga clic en el icono de edición (generalmente un lápiz).
- Configure HTTPS/SSL: Localice las opciones relativas a SSL/HTTPS en la configuración del sitio. Normalmente hay una opción para elegir el origen del certificado.
- Seleccione el certificado ACME: Elija
ACME
como fuente del certificado, y luego, en el menú desplegable que aparece, seleccione el certificado recién solicitado (identificado por el Common Name que configuró). - Guarde los cambios: Guarde la nueva configuración. ServBay recargará la configuración del sitio y el nuevo certificado SSL entrará en vigencia. Ahora podrá acceder a su sitio local mediante HTTPS.
La imagen ilustra la selección de un certificado ACME en la configuración del sitio web.
Renovación de certificados
Los certificados de Let's Encrypt son válidos por 90 días. ServBay tiene incorporado un mecanismo de renovación automática. Cuando su certificado ACME esté próximo a caducar (usualmente dentro de los 30 días previos a su vencimiento), ServBay intentará renovarlo automáticamente usando la misma configuración. No es necesario intervenir manualmente. Mantenga la validez de su clave API DNS para asegurar la renovación sin inconvenientes. Si ocurre algún problema, Let's Encrypt le notificará al correo facilitado en la solicitud.
Sobre el protocolo ACME y la validación por API DNS
- Protocolo ACME: Es un estándar abierto para automatizar la validación de dominios y la emisión de certificados. ACME es utilizado por autoridades certificadoras como Let's Encrypt para comunicarse con los clientes (por ejemplo, el cliente ACME integrado en ServBay) y automatizar la solicitud y gestión de certificados.
- Validación por API DNS: Este método, compatible con ACME, demuestra la propiedad del dominio añadiendo un registro TXT especial utilizando la API DNS del proveedor. El servidor CA verifica dicho registro para confirmar el control del dominio. Es especialmente útil para:
- Solicitar certificados wildcard (por ejemplo:
*.servbay.demo
). - Situaciones en las que su instancia de ServBay no es accesible públicamente (por ejemplo, en una red local o cuando su ISP bloquea los puertos 80/443).
- Solicitar certificados wildcard (por ejemplo:
Elección del algoritmo de certificado: ECC vs RSA
Al solicitar un certificado en ServBay, puede elegir entre los algoritmos ECC o RSA.
- RSA: El algoritmo clásico de cifrado de clave pública. Ofrece máxima compatibilidad (aceptado en casi todos los navegadores y clientes). Las longitudes habituales de las claves son 2048 y 4096 bits.
- ECC: Algoritmo basado en criptografía de curva elíptica. Permite claves mucho más cortas para un nivel de seguridad equivalente (por ejemplo, ECC de 256 bits corresponde aproximadamente a RSA de 3072 bits), haciendo que el handshake TLS sea más rápido y requiera menos recursos. ECC está ampliamente soportado en navegadores modernos y sistemas operativos.
Recomendación: Para nuevas solicitudes, use ECC con una longitud de 384 bits para un óptimo rendimiento y seguridad. Elija RSA solo si necesita la mayor compatibilidad posible (por ejemplo, soporte para clientes extremadamente antiguos).
Aspectos a tener en cuenta
- Propagación DNS: Tras la solicitud, los cambios en registros TXT DNS pueden tardar entre minutos y varias horas en propagarse globalmente. Si su solicitud falla de inmediato, espere unos minutos y reintente.
- Seguridad de la clave API: La clave API DNS otorga control total sobre los registros de su dominio. Consérvela de forma segura y evite compartirla.
- Límites de Let's Encrypt: Let's Encrypt impone límites a la cantidad de solicitudes y renovaciones por dominio en un periodo de tiempo. Usar la renovación automática estándar de ServBay no debería generar problemas, pero evite solicitudes excesivamente frecuentes.
Preguntas Frecuentes (FAQ)
- P: Mi dominio apunta a una IP local, ¿puedo usar certificados de Let's Encrypt?
- R: Sí, siempre que use la validación vía API DNS. Let's Encrypt verifica si usted controla el registro DNS, no la resolución del dominio a una IP pública.
- P: ¿Qué hago si falla la solicitud del certificado?
- R: Primero, revise que la clave API esté correcta y tenga los permisos necesarios. Verifique que seleccionó el proveedor de API DNS adecuado. A veces el fallo ocurre porque el registro DNS aún no se ha propagado; espere unos minutos y vuelva a intentarlo. Consulte el log de ServBay para obtener detalles del error.
- P: ¿Con cuánta antelación ServBay intenta renovar el certificado?
- R: Normalmente, ServBay realiza la renovación automática dentro de los 30 días previos al vencimiento del certificado.
- P: ¿Puedo solicitar certificados para dominios
.local
en mi entorno de desarrollo?- R: No es posible. Let's Encrypt solo emite certificados para dominios públicos y registrados. Para
.local
o IPs locales, use la función User CA o Public CA de ServBay para generar certificados autofirmados o simulados para pruebas locales.
- R: No es posible. Let's Encrypt solo emite certificados para dominios públicos y registrados. Para
- P: ¿Qué hago si mi proveedor DNS no está en la lista de ServBay?
- R: El cliente ACME de ServBay soporta la mayoría de proveedores DNS conocidos. Si usa un servicio muy poco común, puede requerir configuración manual. Consúltelo en la WIKI de API DNS de
acme.sh
. Si no aparece en la interfaz de ServBay, contacte al soporte.
- R: El cliente ACME de ServBay soporta la mayoría de proveedores DNS conocidos. Si usa un servicio muy poco común, puede requerir configuración manual. Consúltelo en la WIKI de API DNS de
Resumen
ServBay, mediante la integración del protocolo ACME, simplifica enormemente la obtención y gestión de certificados SSL de Let's Encrypt en entornos de desarrollo local. Gracias a la validación por API DNS, puede solicitar certificados gratuitos con renovación automática para dominios públicos (incluyendo wildcards), replicando fielmente el entorno HTTPS de producción para mejorar la eficiencia y precisión de las pruebas. Siga los pasos de este artículo para activar conexiones seguras en su sitio ServBay de forma rápida y sencilla.