Todas las guías de inicio Primeros pasos

Cómo obtener un certificado SSL gratuito (guía paso a paso)

Un certificado SSL gratuito cifra la conexión entre tus visitantes y tu sitio web, protegiendo contraseñas, pagos y datos personales. Puedes obtener uno en unos 5 minutos sin gastar un centavo.

Resumen rápido:

  1. Abre gethttps.com/app/setup — sin instalación, sin cuenta
  2. Introduce tu nombre de dominio
  3. Verifica la propiedad del dominio (coloca un archivo en tu servidor o añade un registro DNS)
  4. Descarga tus archivos de certificado
  5. Instala en tu servidor (Nginx, Apache, cPanel, WordPress, IIS)

Sigue leyendo para la guía completa con todos los detalles.


Por qué necesitas un certificado SSL

Antes de empezar, si te preguntas si tu sitio realmente necesita SSL:

  • Los navegadores marcan los sitios HTTP como «No seguro» — Chrome, Firefox y Edge muestran una advertencia en la barra de dirección. Los visitantes se van.
  • Google usa HTTPS como señal de posicionamiento — desde 2014. Los sitios HTTP se posicionan peor.
  • Los formularios y logins transmiten datos en texto plano sin HTTPS — cualquiera en la red puede leer contraseñas, números de tarjeta de crédito, datos personales.
  • Las páginas HTTP pueden ser modificadas en tránsito — los ISP y atacantes pueden inyectar anuncios, rastreo o malware en tus páginas.
  • HTTPS es gratis — no hay razón para no usarlo.

Si tu sitio ya está en HTTPS, puedes ir directamente a renovación.

4 formas de obtener un certificado SSL gratuito

MétodoIdeal paraInstalaciónRenovación automáticaTiempo
GetHTTPS (navegador)Cualquiera — sin instalación, sin acceso al servidor necesarioManualNo5 min
Tu proveedor de hostingHosting compartido con cPanel/PleskAutomáticaGeneralmente sí2 min
Certbot (CLI)Administradores de servidores con acceso rootAutomática10 min
Cloudflare (CDN)Sitios que ya usan CloudflareAutomática5 min

Esta guía se enfoca en el Método 1 (GetHTTPS) porque funciona en cualquier lugar: hosting compartido, VPS, servidor dedicado o cualquier plataforma donde puedas subir archivos. Para otros métodos, consulta los enlaces anteriores.


Método 1: GetHTTPS (recomendado — funciona en cualquier lugar)

Requisitos previos

  • Un nombre de dominio registrado apuntando a un servidor que controlas
  • Acceso a uno de los siguientes (para verificación del dominio):
    • El sistema de archivos de tu servidor web — para colocar un archivo de verificación (desafío HTTP-01)
    • La configuración DNS de tu dominio — para añadir un registro TXT (desafío DNS-01)
  • Un navegador moderno — Chrome, Firefox, Edge o Safari

¿Qué tipo de desafío debería usar? HTTP-01 es más simple para la mayoría de las personas. DNS-01 es necesario para certificados comodín (*.example.com). Consulta nuestra guía de HTTP-01 y guía de DNS-01 para explicaciones detalladas.

Paso 1: Abre GetHTTPS

Ve a gethttps.com/app/setup.

GetHTTPS genera automáticamente dos pares de claves en tu navegador:

  • Clave de cuenta — Un par de claves ECDSA P-256 que identifica tu cuenta de Let’s Encrypt. Firma todas las solicitudes ACME.
  • Clave del certificado — El par de claves para tu certificado SSL. ECDSA P-256 por defecto (recomendado) o RSA 2048.

Ambas claves se crean usando la Web Crypto API integrada en tu navegador. Existen solo en la memoria del navegador y nunca se envían a ningún servidor, ni siquiera al nuestro. Esta es la ventaja clave de privacidad sobre herramientas como SSL For Free (que genera claves en su servidor) o ZeroSSL (que puede generar claves del lado del servidor dependiendo del método).

Paso 2: Añade tus nombres de dominio

Introduce los dominios que quieres proteger:

Lo que quieresQué introducirNotas
Dominio únicoexample.comConfiguración más básica
Dominio + wwwexample.com + www.example.comRecomendado para la mayoría de los sitios
Comodín*.example.comCubre todos los subdominios; requiere DNS-01
Múltiples dominiosexample.com + blog.example.com + shop.example.comCertificado SAN

Consejo: Si introduces example.com, GetHTTPS te sugiere añadir también www.example.com (y viceversa). La mayoría de los sitios deberían proteger ambos.

Paso 3: Completa la verificación del dominio

Let’s Encrypt necesita verificar que controlas el dominio. Elige uno de dos métodos:

Opción A: Desafío HTTP-01 (más simple, para la mayoría de personas)

Let’s Encrypt proporciona un token. Colocas un archivo en tu servidor web en una URL específica.

  1. GetHTTPS te muestra un nombre de archivo y un contenido del archivo (una cadena larga de token)
  2. Crea el archivo en tu servidor:
    http://yourdomain.com/.well-known/acme-challenge/TOKEN_FILENAME
  3. El archivo debe ser accesible por HTTP (puerto 80) — incluso si tu sitio ya usa HTTPS
  4. Haz clic en Verify en GetHTTPS

Cómo crear el archivo — por plataforma:

Acceso SSH (Nginx/Apache en Linux):

# Crear el directorio (si no existe)
mkdir -p /var/www/html/.well-known/acme-challenge/

# Crear el archivo de desafío — usa los valores EXACTOS de GetHTTPS
echo "TOKEN_CONTENT_SHOWN_IN_GETHTTPS" > /var/www/html/.well-known/acme-challenge/TOKEN_FILENAME

# Verificar que es accesible
curl http://yourdomain.com/.well-known/acme-challenge/TOKEN_FILENAME

Administrador de archivos de cPanel:

  1. Ve al Administrador de archivos → navega a public_html
  2. Crea la carpeta .well-known → dentro de ella, crea acme-challenge
  3. Crea un nuevo archivo con el nombre del token, pega el contenido del token
  4. Asegúrate de que el archivo sea legible (permisos 644)

FTP:

  1. Conéctate por FTP a la raíz de tu sitio
  2. Navega a (o crea) .well-known/acme-challenge/
  3. Sube un archivo de texto con el nombre del token que contenga el contenido del token

Problema común: Algunos servidores web no sirven archivos de .well-known por defecto. Si obtienes un error 404, revisa la configuración de tu servidor. Nginx puede necesitar location ~ /\.well-known { allow all; } en la configuración.

Opción B: Desafío DNS-01 (necesario para comodines)

Añades un registro TXT a la configuración DNS de tu dominio.

  1. GetHTTPS te muestra un nombre de registro (ej., _acme-challenge.example.com) y un valor de registro (un hash largo)
  2. Ve a tu proveedor DNS y añade el registro TXT
  3. Espera la propagación DNS (generalmente 1-5 minutos)
  4. Haz clic en Verify en GetHTTPS

Referencia rápida de proveedores DNS:

ProveedorDónde añadir el registro TXTConfiguración TTL
CloudflareDNS → Records → Add record → Type: TXTAuto
AWS Route 53Hosted zones → tu dominio → Create record → TXT300
GoDaddyDNS Management → Add → Type: TXT1 Hour
NamecheapDomain List → Manage → Advanced DNS → Add new record → TXTAutomatic
Google DomainsDNS → Custom records → Manage → Create new record → TXTAuto
DigitalOceanNetworking → Domains → tu dominio → Add record → TXT30

Nombre del registro: _acme-challenge (algunos proveedores añaden automáticamente tu dominio, otros no — verifica la vista previa) Valor del registro: La cadena hash que muestra GetHTTPS (copia y pega exactamente)

Pre-verificación (función exclusiva de GetHTTPS)

Antes de enviar a Let’s Encrypt, GetHTTPS pre-verifica tu configuración de desafío desde la internet pública vía la API DNS-over-HTTPS de Google. Esto detecta errores como:

  • Contenido o permisos incorrectos del archivo
  • Archivo no accesible en puerto 80
  • Registro DNS no propagado aún
  • Firewall bloqueando la solicitud
  • Proxy de Cloudflare interceptando el desafío

Si la pre-verificación falla, GetHTTPS te muestra exactamente qué está mal, para que puedas corregirlo antes de gastar un intento de límite de tasa.

Esta es una función que otras herramientas basadas en navegador no tienen. SSL For Free y ZeroSSL envían directamente a la CA, y solo te enteras de los errores después.

Paso 4: Descarga tus archivos de certificado

Una vez que todos los desafíos se aprueban, Let’s Encrypt emite tu certificado. GetHTTPS te da cuatro archivos:

ArchivoQué esCuándo lo necesitas
privkey.pemTu clave privada — ¡mantenla en secreto!Todos los servidores
cert.pemTu certificado SSL (solo la entidad final)Apache, algunas configuraciones
chain.pemEl certificado CA intermedio de Let’s EncryptApache, algunas configuraciones
fullchain.pemcert.pem + chain.pem combinadosNginx, la mayoría de servidores

Descarga los cuatro archivos. Diferentes servidores necesitan diferentes combinaciones; tener los cuatro significa que estás cubierto. Consulta formatos de certificados explicados para más detalles.

Seguridad: Almacena privkey.pem de forma segura. Cualquiera que tenga este archivo puede suplantar tu sitio web. No lo envíes por email, no lo subas a Git, no lo pongas en una carpeta pública.

Paso 5: Instala en tu servidor

Elige tu plataforma:

PlataformaGuíaArchivos clave necesarios
NginxGuía completa →fullchain.pem + privkey.pem
ApacheGuía completa →cert.pem + chain.pem + privkey.pem
cPanelGuía completa →Pegar contenido de los tres archivos
WordPressGuía completa →Depende del hosting (cPanel/Nginx/Apache)
Windows IISGuía completa →Convertir a PFX primero
DockerGuía completa →Montar fullchain.pem + privkey.pem
PleskGuía completa →Pegar contenido de los tres archivos
AWSGuía completa →Subir a EC2 o importar a ACM
Node.jsGuía completa →fullchain.pem + privkey.pem en código

Instalación rápida — Nginx:

server {
    listen 443 ssl http2;
    server_name example.com www.example.com;

    ssl_certificate     /etc/ssl/fullchain.pem;
    ssl_certificate_key /etc/ssl/privkey.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers off;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 1d;

    add_header Strict-Transport-Security "max-age=63072000" always;

    root /var/www/html;
    index index.html;
}
sudo nginx -t && sudo systemctl reload nginx

Instalación rápida — Apache:

<VirtualHost *:443>
    ServerName example.com
    ServerAlias www.example.com

    SSLEngine on
    SSLCertificateFile      /etc/ssl/cert.pem
    SSLCertificateKeyFile   /etc/ssl/privkey.pem
    SSLCertificateChainFile /etc/ssl/chain.pem

    SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
    SSLHonorCipherOrder off

    DocumentRoot /var/www/html
</VirtualHost>
sudo apachectl configtest && sudo systemctl reload apache2

Paso 6: Redirige HTTP a HTTPS

Fuerza todo el tráfico a usar la conexión cifrada. Sin esto, los visitantes en http:// no se benefician de tu certificado.

Nginx:

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

Apache (.htaccess):

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Guía completa de redirección con www/no-www, escenarios de proxy y solución de problemas →

Paso 7: Verifica que todo funcione

Verificación en el navegador:

  1. Visita https://tudominio.com
  2. Haz clic en el icono de candado → «Certificate» o «La conexión es segura»
  3. Verifica: Emitido por «Let’s Encrypt», expira en ~90 días, el dominio coincide

Verificación por línea de comandos:

# Mostrar detalles del certificado
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null \
  | openssl x509 -noout -subject -issuer -dates

# Salida esperada:
# subject=CN=example.com
# issuer=C=US, O=Let's Encrypt, CN=R10
# notBefore=May  8 00:00:00 2026 GMT
# notAfter=Aug  6 00:00:00 2026 GMT

Verificación en línea: Introduce tu dominio en SSL Labs Server Test para un informe completo que cubre cadena de certificados, soporte de protocolos, suites de cifrado y vulnerabilidades conocidas.

Verifica contenido mixto: Abre las DevTools del navegador (F12) → pestaña Console. Busca advertencias de «Mixed Content»: son recursos HTTP en tu página HTTPS. Cómo solucionar contenido mixto →


Renovación

Los certificados de Let’s Encrypt expiran después de 90 días. Renueva antes del día 60 para darte un margen de seguridad.

Con GetHTTPS (manual):

  1. Visita gethttps.com/app/setup de nuevo
  2. Reintroduce tu(s) dominio(s) y completa un nuevo desafío
  3. Reemplaza los archivos del certificado en tu servidor
  4. Recarga tu servidor web (sudo systemctl reload nginx)

Con Certbot (automático): Si quieres renovación sin intervención, instala Certbot en tu servidor. Muchos equipos usan GetHTTPS para el primer certificado y Certbot para la renovación automática continua.

Guía completa de renovación →

Próximamente: certificados de 47 días. El CA/Browser Forum votó reducir la validez máxima de certificados a 47 días para 2029. Qué significa esto para ti →


Método 2: Tu proveedor de hosting (lo más fácil si está disponible)

Muchos hosts incluyen SSL gratuito:

HostCómo activarRenovación automática
HostingerhPanel → Security → SSL✅ AutoSSL
SiteGroundSite Tools → Security → SSL Manager
BluehostMy Sites → Security → SSL
NamecheapcPanel → SSL/TLS Status✅ AutoSSL
GoDaddycPanel → SSL/TLS (si hosting cPanel)
DigitalOceanSin integración — usa Certbot o GetHTTPS
AWSACM para balanceadores de carga, Certbot para EC2✅ (ACM)

Si tu host proporciona SSL gratuito, úsalo: es el camino más simple. Si no (o si quieres más control), usa GetHTTPS.

Método 3: Certbot (para administradores de servidores)

Certbot es una herramienta CLI que automatiza certificados de Let’s Encrypt en tu servidor. Requiere acceso root.

# Instalar (Ubuntu)
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

# Obtener certificado + auto-configurar Nginx
sudo certbot --nginx -d example.com -d www.example.com

# La renovación automática se configura automáticamente
sudo systemctl list-timers | grep certbot

Comparativa completa GetHTTPS vs Certbot →

Método 4: Cloudflare (SSL basado en proxy)

Si usas Cloudflare como tu CDN, Universal SSL está incluido gratis. Pero entiende: el SSL de Cloudflare significa que tu tráfico se descifra en el edge de Cloudflare, no en tu servidor. ¿Está bien para ti? →


Solución de problemas

El archivo del desafío devuelve 404

  • Revisa la ruta: El archivo debe estar exactamente en /.well-known/acme-challenge/TOKEN — no en un subdirectorio
  • Revisa los permisos: El archivo debe ser legible por el servidor web (chmod 644)
  • Nginx: Añade location ~ /\.well-known { allow all; } si tu configuración bloquea archivos con punto
  • Cloudflare: Cambia temporalmente el DNS a «DNS only» (nube gris) durante el desafío HTTP-01
  • cPanel: Asegúrate de que .well-known no esté oculto — algunos administradores de archivos ocultan directorios con punto

No se encuentra el registro DNS

  • Espera más — algunos proveedores DNS tardan 5-15 minutos en propagar
  • Revisa el nombre del registro: Debería ser _acme-challenge (sin tu dominio añadido, o con él — depende del proveedor). La pre-verificación de GetHTTPS lo confirma.
  • Revisa el tipo de registro: Debe ser TXT, no CNAME ni A
  • Verifica manualmente:
    dig TXT _acme-challenge.yourdomain.com +short

Error de «Too many requests» / límite de tasa

Let’s Encrypt permite 50 certificados por dominio registrado por semana. Si alcanzas este límite:

  • Espera una semana e intenta de nuevo
  • Usa el entorno staging para pruebas (GetHTTPS usa staging por defecto en desarrollo)
  • Pre-verifica tus desafíos antes de enviar para evitar intentos desperdiciados

El navegador muestra «No seguro» después de la instalación

  1. Certificado no instalado: Verifica que la configuración de tu servidor apunte a los archivos correctos
  2. Contenido mixto: Tu página carga recursos HTTP. Guía de solución →
  3. Redirección no activa: El tráfico HTTP no se está redirigiendo a HTTPS. Guía de redirección →
  4. Certificado expirado: Verificar vencimiento →

Error de «Certificate chain incomplete»

Estás usando cert.pem en lugar de fullchain.pem (Nginx) o falta SSLCertificateChainFile (Apache). El servidor necesita el certificado intermedio para demostrar la cadena de confianza.


¿Por qué GetHTTPS sobre otras herramientas gratuitas?

CaracterísticaGetHTTPSZeroSSLSSL For FreeCertbot
InstalaciónNinguna (navegador)Ninguna (web)Ninguna (web)Instalación CLI necesaria
Clave privadaGenerada en navegador (Web Crypto)⚠️ Puede ser generada en servidor⚠️ Generada en servidorGenerada en servidor
Límite de certs gratisIlimitados33Ilimitados
Comodín (gratis)❌ (pago)
Renovación automática
Pre-verificación
Código abiertoNoNoNoSí (Apache 2.0)
Directo a Let’s EncryptVía ZeroSSLVía ZeroSSL

Comparativa completa de todos los proveedores SSL gratuitos →


Preguntas frecuentes

¿Realmente puedo obtener un certificado SSL gratis?

Sí. Let’s Encrypt es una Autoridad Certificadora sin ánimo de lucro respaldada por Mozilla, Google, EFF y otros. Emite certificados de validación de dominio (DV) gratuitos: el mismo tipo por el que muchas empresas pagan $50-200/año. Más de 300 millones de sitios web usan Let’s Encrypt, con un 63,9% de cuota de mercado global de CAs.

¿Un certificado SSL gratuito es tan seguro como uno de pago?

Sí. Todos los certificados SSL, gratuitos o de pago, usan el mismo cifrado TLS. Un certificado DV gratuito de Let’s Encrypt proporciona la misma fuerza de cifrado que un certificado EV de $500 de DigiCert. La única diferencia es el nivel de validación (lo que la CA verifica sobre tu identidad), no el cifrado. Comparativa detallada →

¿Cuánto dura un certificado SSL gratuito?

Los certificados de Let’s Encrypt son válidos por 90 días. Esta validez corta es intencional: limita el daño si una clave se ve comprometida y fomenta la automatización. Renueva en el día 60 para tener un margen de seguridad. Nota: para 2029, todos los certificados estarán limitados a 47 días.

¿Necesito acceso SSH/root a mi servidor?

No con GetHTTPS. Necesitas la capacidad de:

  • Colocar un archivo en tu servidor web (vía FTP, Administrador de archivos de cPanel o cualquier método) — para HTTP-01
  • Añadir un registro DNS (vía tu registrador de dominios o proveedor DNS) — para DNS-01

Si no tienes acceso en absoluto, verifica si tu proveedor de hosting ofrece SSL gratuito a través de su panel de control.

¿Puedo obtener un certificado comodín gratis?

Sí. GetHTTPS soporta certificados comodín (*.example.com) usando el desafío DNS-01. Esta es una función que muchos competidores (ZeroSSL, SSL For Free) restringen a planes de pago. Necesitarás acceso a la configuración DNS de tu dominio.

¿Puedo proteger múltiples dominios con un solo certificado?

Sí. Introduce todos tus dominios en GetHTTPS — hasta 100 nombres por certificado. Esto crea un certificado SAN (multi-dominio). Cada dominio necesita su propia verificación de desafío.

¿Cuál es la diferencia entre los desafíos HTTP-01 y DNS-01?

HTTP-01: Colocas un archivo en tu servidor. Más simple, funciona para dominios únicos. Requiere acceso al puerto 80. DNS-01: Añades un registro TXT a tu DNS. Necesario para comodines. Funciona aunque el puerto 80 esté bloqueado. Guía detallada de HTTP-01 → | Guía de DNS-01 →

¿Qué pasa si mi certificado expira?

Los navegadores muestran una advertencia de seguridad a página completa («Tu conexión no es privada»). Los visitantes no pueden acceder a tu sitio de forma segura, y los motores de búsqueda pueden desindexar tus páginas. Cómo verificar el vencimiento → | Cómo renovar →

¿Puedo cambiar de GetHTTPS a Certbot (o viceversa)?

Sí. Los archivos de certificado son formato PEM estándar. Puedes generar el primer certificado con GetHTTPS y después instalar Certbot para renovación automática. O usar Certbot inicialmente y cambiar a GetHTTPS cuando necesites una re-emisión rápida sin acceso al servidor. Las herramientas no entran en conflicto.

Artículos relacionados

Comparar 2026-05-08
GetHTTPS vs Certbot: ¿qué herramienta SSL deberías usar?
Comparativa detallada de GetHTTPS y Certbot para obtener certificados SSL gratuitos de Let's Encrypt. Compara instalación, flujo de trabajo, privacidad, automatización, renovación y casos de uso.
Comparar 2026-05-08
Los mejores proveedores de certificados SSL gratuitos en 2026 (comparativa)
Compara 9 proveedores de certificados SSL gratuitos en privacidad, límites, soporte de comodines y automatización. Incluye CAs independientes, proveedores de hosting y CDN, con un análisis de privacidad que ninguna otra comparativa cubre.
Primeros pasos 2026-05-08
Desafío HTTP-01: cómo funciona y cómo completarlo
HTTP-01 es la forma más sencilla de demostrar la propiedad del dominio para un certificado SSL. Coloca un archivo en tu servidor, Let's Encrypt lo verifica y tu certificado se emite.
Primeros pasos 2026-05-08
Desafío DNS-01: cómo funciona y cómo completarlo
La validación DNS-01 demuestra la propiedad del dominio añadiendo un registro TXT a tu DNS. Necesaria para certificados comodín. Cubre la configuración en Cloudflare, Route 53, GoDaddy, Namecheap y más.
Obtén un certificado SSL gratuito en tu navegador
Sin instalación, sin cuenta. Tu clave privada nunca sale de tu dispositivo.
Obtener certificado