CyberPanel incluye un sistema integrado para emitir certificados SSL mediante Let’s Encrypt. Cuando falla la emisión automática, el panel genera un certificado autofirmado que los navegadores rechazan. Este tutorial muestra cómo diagnosticar y resolver los problemas más habituales.
1. Verificar el registro A y la IP del servidor
CyberPanel solo puede emitir certificados para dominios que resuelvan directamente a la IP del servidor donde está instalado. Si el registro A del dominio apunta a otra IP, la validación HTTP-01 fallará.
Para comprobarlo:
- Anote la IP mostrada en la esquina superior izquierda del panel de CyberPanel (debajo del logotipo).
- Use una herramienta como Whats My DNS para verificar que el registro A de su dominio resuelva a esa misma IP.
- Si usa Cloudflare u otro proxy, asegúrese de que el registro A en su gestor DNS apunte a la IP real del servidor (no a una IP de Cloudflare). En caso de usar el modo proxy de Cloudflare, desactive temporalmente la nube naranja durante la emisión del certificado.
- Nota importante: Cuando el proxy está activo, el tráfico de validación de Let’s Encrypt llega a la IP de Cloudflare, no a su servidor, lo que provoca un fallo. Desactive el proxy solo mientras se emite o renueva el certificado y vuelva a activarlo después.
Si las IPs no coinciden, modifique el registro A en la configuración DNS de su proveedor de dominio para que apunte a la IP del servidor de CyberPanel.

2. Actualizar el cliente ACME (acme.sh)
CyberPanel depende del cliente acme.sh para solicitar y renovar certificados Let’s Encrypt. Si este cliente está desactualizado o dañado, la emisión fallará.
Para actualizar acme.sh de forma segura, ejecute en la terminal del servidor:acme.sh –upgrade
Este comando actualiza el cliente sin sobrescribir configuraciones personalizadas, siempre que acme.sh ya esté instalado. Si no tiene acme.sh instalado o la instalación está dañada, use el script oficial de instalación:wget -O – https://get.acme.sh | sh
Después de actualizar, vuelva a SSL → Administrar SSL y vuelva a intentar la emisión.
3. Corregir permisos de carpeta
El desafío HTTP-01 de Let’s Encrypt requiere que el cliente ACME escriba un archivo temporal en.well-known/acme-challenge/ dentro del directorio web del sitio. Si los permisos de esta ruta impiden la escritura, la validación falla.
Para solucionarlo desde el panel:



4. Configurar excepciones en ModSecurity (alternativa a desactivarlo)
ModSecurity puede bloquear las solicitudes de validación de Let’s Encrypt como falsos positivos, especialmente cuando los servidores de Let’s Encrypt generan tráfico inusual durante la emisión masiva de certificados. En lugar de desactivar ModSecurity completamente (lo que deja el servidor expuesto), puede crear una excepción específica para el desafío HTTP-01 desde el panel de CyberPanel:SecRule REQUEST_URI "@beginsWith /.well-known/acme-challenge/" "phase:1,nolog,allow,ctl:ruleEngine=Off"
5. Depuración avanzada con línea de comandos
Si los pasos anteriores no resuelven el problema, ejecute el cliente ACME manualmente con modo depuración para obtener detalles específicos del fallo:/root/.acme.sh/acme.sh –issue -d <TU_DOMINIO> -d www.<TU_DOMINIO> –cert-file /etc/letsencrypt/live/<TU_DOMINIO>/cert.pem –key-file /etc/letsencrypt/live/<TU_DOMINIO>/privkey.pem –fullchain-file /etc/letsencrypt/live/<TU_DOMINIO>/fullchain.pem -w /home/<TU_DOMINIO>/public_html –force –debug
Este comando mostrará en la salida exactamente dónde falla el proceso (por ejemplo, conexión denegada, archivo no encontrado, respuesta inesperada). Use esta información para ajustar DNS, firewalls o configuraciones del servidor web.6. Buenas prácticas y mantenimiento
Para evitar problemas futuros con SSL en CyberPanel, tenga en cuenta:cron esté activo en el servidor.*.ejemplo.com) mediante el desafío DNS-01. Úselos si necesita proteger múltiples subdominios y quiere evitar límites de emisión por subdominio.ping o nslookup) y que los puertos 80 y 443 están accesibles desde el servidor (telnet dominio.com 80).