Cómo solucionar errores de certificado SSL
Una advertencia del navegador ahuyenta a los visitantes nada más llegar, pero la causa suele ser uno de unos pocos problemas sencillos. Aquí tienes cómo identificar cuál es el tuyo y solucionarlo.
Averigua qué problema tienes
Introduce tu dominio en el SSL Checker, o ejecuta esto en cualquier equipo con OpenSSL:
openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null | openssl x509 -noout -subject -issuer -dates
La salida muestra para quién es el certificado, quién lo emitió y cuándo caduca. Compáralo con las secciones siguientes.
El certificado ha caducado
Es la causa más común y normalmente significa que la renovación automática ha fallado. Con Let’s Encrypt y Certbot, prueba primero la renovación y luego renueva:
sudo certbot renew --dry-run
sudo certbot renew
sudo systemctl reload nginx
Si la prueba falla, la razón habitual es que el puerto 80 está bloqueado o que una redirección impide la solicitud de validación. Las plataformas alojadas se renuevan solas, así que comprueba que el DNS de tu dominio sigue apuntando a ellas.
El nombre no coincide
El certificado tiene que incluir la dirección exacta que usan los visitantes. Un certificado para example.com no cubre www.example.com a menos que se incluyan ambos. Vuelve a emitirlo con los dos nombres:
sudo certbot --nginx -d example.com -d www.example.com
La cadena está incompleta
Tu sitio puede funcionar en algunos navegadores y fallar en otros, o fallar en los móviles. Normalmente significa que el servidor no envía el certificado intermedio. En Nginx, apunta a la cadena completa, no solo al certificado:
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
Falta el candado o la página avisa de contenido mixto
El certificado está bien, pero la página carga una imagen o un script mediante http://. Abre la consola del navegador para ver qué archivo es y cámbialo a https://. Si tu sitio sigue respondiendo por HTTP sin cifrar, configura la redirección y confírmalo con el Redirect Checker.
Solo una persona ve el error
Si el SSL Checker pasa pero un dispositivo da error, la causa está en ese dispositivo. El motivo clásico es un reloj del sistema mal configurado, seguido del antivirus o de una red corporativa que inspecciona el tráfico.
Evita que vuelva a pasar
- Confirma que la renovación automática funciona con una prueba en seco después de cualquier cambio en el servidor.
- Pon un recordatorio en el calendario o una alerta de disponibilidad antes de la fecha de caducidad.
- Tras arreglar un dominio, añade cabeceras de seguridad como HSTS, pero solo cuando HTTPS funcione en todas partes.