Cuando un navegador se conecta a tu web por HTTPS, el servidor presenta un certificado digital que demuestra que es el dueño legítimo del dominio y permite cifrar la conexión. Aunque todo el mundo sigue diciendo «SSL», el protocolo actual es TLS (las versiones 1.2 y 1.3; SSL y TLS 1.0/1.1 están obsoletos). Sin certificado, Chrome, Safari o Firefox muestran «No seguro» junto a la dirección, y un certificado mal configurado muestra una pantalla de error que espanta a cualquier cliente. En esta guía verás qué tipos hay, cómo conseguir uno gratis y cómo arreglar los fallos habituales.
Qué hace un certificado
- Cifra los datos entre el navegador y el servidor: contraseñas, formularios, datos de pago.
- Autentica el servidor: garantiza que hablas con
ejemplo.comy no con un impostor. - Protege la integridad: nadie puede modificar la página por el camino (por ejemplo, un wifi público que inyecte anuncios).
El certificado lo firma una autoridad de certificación (CA) en la que confían los navegadores. Entre el certificado de tu dominio y la raíz suele haber un certificado intermedio; juntos forman la cadena.
Tipos de certificado
Por nivel de validación
| Tipo | Qué se verifica | Uso típico |
|---|---|---|
| DV (Domain Validation) | Solo que controlas el dominio | Webs, blogs, tiendas: la mayoría de casos |
| OV (Organization Validation) | Dominio + existencia de la empresa | Empresas que quieren sus datos en el certificado |
| EV (Extended Validation) | Verificación exhaustiva de la empresa | Banca, grandes comercios |
Los navegadores ya no muestran la barra verde con el nombre de la empresa para EV, así que para el visitante la diferencia visual es mínima.
Por cobertura
- Un solo dominio:
ejemplo.com(normalmente incluye tambiénwww). - Multidominio (SAN): varios dominios en un certificado.
- Comodín (wildcard):
*.ejemplo.comcubre todos los subdominios de un nivel. Requiere validación por DNS.
Certificado gratis con Let’s Encrypt
Let’s Encrypt es una CA sin ánimo de lucro que emite certificados DV gratuitos. La mayoría de hostings (cPanel, Plesk y paneles propios) la integran con un clic, y las CDN como Cloudflare dan certificados automáticamente.
En un servidor propio se usa un cliente ACME como Certbot:
sudo certbot --nginx -d ejemplo.com -d www.ejemplo.com
sudo certbot renew --dry-run
Los certificados de Let’s Encrypt duran 90 días y se renuevan solos. Ten en cuenta los cambios del sector: desde el 15 de marzo de 2026 ningún certificado público puede superar los 200 días de validez, límite que baja a 100 días en marzo de 2027 y a 47 días en marzo de 2029. Let’s Encrypt, por su parte, planea reducir progresivamente sus certificados hasta 45 días en 2028. Conclusión: la renovación tiene que ser automática; renovar a mano ya no es viable.
Errores frecuentes y cómo resolverlos
Para diagnosticar, usa el comprobador de certificado SSL: muestra la fecha de caducidad, los nombres cubiertos y si la cadena está completa.
| Error del navegador | Causa | Solución |
|---|---|---|
NET::ERR_CERT_DATE_INVALID |
Certificado caducado (o reloj del equipo mal) | Renovar y revisar por qué falló la renovación automática |
ERR_CERT_COMMON_NAME_INVALID |
El certificado no incluye ese nombre (p. ej. falta www) |
Emitir el certificado con todos los nombres |
ERR_CERT_AUTHORITY_INVALID |
Autofirmado o cadena incompleta | Instalar el certificado intermedio (fullchain) |
ERR_SSL_PROTOCOL_ERROR |
Configuración TLS rota o versión no soportada | Activar TLS 1.2 y 1.3 |
| Candado tachado / «parcialmente seguro» | Contenido mixto | Cargar todos los recursos por HTTPS |
Por qué falla la renovación automática
- Has cambiado el DNS o activado una CDN y la validación HTTP ya no llega al servidor.
- Un registro CAA no autoriza a la CA que emite el certificado.
- El cortafuegos bloquea el puerto 80, que necesita la validación HTTP-01.
- El dominio ha cambiado de servidor y el certificado sigue en el antiguo.
Contenido mixto
Si la página es HTTPS pero carga http://ejemplo.com/logo.png, el navegador lo bloquea o avisa. Busca y reemplaza las URL http:// en la base de datos (en WordPress, con un plugin de búsqueda y reemplazo) y en el tema. Como red de seguridad, puedes añadir la cabecera:
Content-Security-Policy: upgrade-insecure-requests
Forzar HTTPS con una redirección 301
Tener certificado no basta: hay que redirigir todo el tráfico HTTP a HTTPS con una redirección 301, idealmente en un solo salto hasta la versión canónica (con o sin www).
#Nginx
server {
listen 80;
server_name ejemplo.com www.ejemplo.com;
return 301 https://ejemplo.com$request_uri;
}
#Apache (.htaccess)
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://ejemplo.com%{REQUEST_URI} [L,R=301]
Verifica el resultado con el comprobador de redirecciones: http://www.ejemplo.com debería llegar a https://ejemplo.com en una sola redirección. Los detalles de cada tipo de redirección están en la guía de redirecciones 301 y 302.
HSTS
Una vez que todo funcione por HTTPS, la cabecera HSTS indica al navegador que use siempre HTTPS con tu dominio:
Strict-Transport-Security: max-age=31536000; includeSubDomains
Empieza con un max-age bajo si no estás seguro de que todos los subdominios tengan certificado: mientras HSTS esté activo, un subdominio sin HTTPS quedará inaccesible.
Lista de comprobación
- Certificado válido para el dominio con y sin
www(y subdominios que uses). - Renovación automática activa y probada; alerta si falla.
- Cadena completa (fullchain) instalada.
- Solo TLS 1.2 y 1.3 habilitados.
- Redirección 301 de HTTP a HTTPS en un único salto.
- Sin contenido mixto.
- HSTS activado cuando todo esté estable.
- Registros CAA, si existen, coherentes con tu CA.