Configuración de Dominios en Firebase con Cloudflare (Root y WWW)
Guía técnica para vincular dominios en Firebase Hosting usando Cloudflare. Aprende a configurar registros A, CNAME y a solucionar el error de certificado SSL.
Lanzar una aplicación web es un hito emocionante, pero la configuración del dominio suele ser el punto donde muchos desarrolladores se quedan atascados. Si estás utilizando Firebase Hosting para servir tu contenido y Cloudflare para gestionar tu dominio, es probable que te hayas enfrentado al reto de hacer que tanto el dominio raíz (juantaype.dev) como el subdominio con www funcionen perfectamente.
En este artículo, desglosaremos el flujo de trabajo exacto para conectar estas dos potentes herramientas, asegurando una conexión segura, rápida y optimizada para SEO.
¿Por qué elegir Firebase + Cloudflare?
Firebase Hosting es excelente por su simplicidad y su integración con el ecosistema de Google Cloud. Por otro lado, Cloudflare actúa como un escudo de seguridad y una red de distribución de contenido (CDN) global. Combinarlos te ofrece lo mejor de ambos mundos: despliegues atómicos y sencillos con la robustez y el control de DNS que solo Cloudflare proporciona.
Paso 1: Configurar el Dominio Raíz (@)
El dominio raíz es la base de tu identidad digital. En mi caso, el objetivo era configurar juantaype.dev.
1.1. Iniciar la vinculación en Firebase
Desde la consola de Firebase, en la sección de Hosting, seleccionamos “Añadir dominio personalizado”. Al ingresar el dominio raíz, Firebase nos solicita verificar la propiedad.
1.2. Configuración de registros en Cloudflare
Firebase nos proporcionará dos tipos de registros esenciales que debemos llevar a nuestro panel de Cloudflare:
- Registro TXT: Sirve exclusivamente para que Google verifique que tienes acceso administrativo al dominio.
- Registros A: Son las direcciones IP de los servidores de Firebase. Normalmente son dos.
| Tipo | Nombre (Host) | Contenido (Valor) | Proxy Status |
|---|---|---|---|
| TXT | @ | v=spf1 include… | DNS Only (Gris) |
| A | @ | 191.15.xx.xx | DNS Only (Gris) |
| A | @ | 191.15.xx.xx | DNS Only (Gris) |
Importante: Durante la fase de verificación, es crucial mantener la Nube Gris (DNS Only). Si activas el proxy de Cloudflare (Nube Naranja) demasiado pronto, Firebase no podrá validar el registro TXT ni emitir el certificado SSL inicial.
Paso 2: Configurar el Subdominio WWW y la Redirección
Es un error común configurar ambos dominios por separado como sitios independientes. Lo ideal para el SEO es que uno sea el principal y el otro simplemente redirija.
2.1. Añadir el subdominio en Firebase
Repetimos el proceso en la consola de Firebase:
- Hacemos clic en “Añadir dominio personalizado”.
- Escribimos
www.juantaype.dev. - Casilla de Redirección: Firebase nos preguntará si queremos redirigir este dominio al dominio raíz. Marcamos esta opción.
2.2. Registro CNAME en Cloudflare
Firebase nos dará un valor para un registro CNAME. En Cloudflare, lo configuramos de la siguiente manera:
# Ejemplo de configuración de registro CNAME en Cloudflare
Tipo: CNAME
Nombre: www
Target: juantaype.dev (o el host que indique Firebase)
Proxy Status: DNS Only (Gris)
El Dilema de la “Nube Gris” vs “Nube Naranja”
Muchos desarrolladores activan el proxy de Cloudflare (Nube Naranja) inmediatamente, encontrándose con el error ERR_CERT_COMMON_NAME_INVALID.
¿Por qué sucede esto? Firebase Hosting utiliza Let’s Encrypt para generar certificados SSL gratuitos. Para que esto funcione, el servidor de validación de certificados debe poder conectarse directamente con la infraestructura de Firebase. Si la Nube Naranja está activa, Cloudflare intercepta la conexión y muestra su propio certificado, interrumpiendo el proceso de validación de Firebase.
La solución: Mantén todos los registros en DNS Only (Gris) hasta que en la consola de Firebase veas el estado en verde como “Conectado”. Una vez que Firebase confirme que el dominio y el certificado están listos, puedes activar el proxy de Cloudflare para beneficiarte de su CDN y protección DDoS.
Problemas Comunes y Cómo Solucionarlos
Error de privacidad (HSTS)
Si ves un mensaje indicando que la conexión no es privada al intentar entrar por www, no te alarmes. Esto suele significar que la redirección ya funciona, pero el certificado SSL para el subdominio aún se está procesando. Firebase puede tardar entre 1 y 24 horas en completar este proceso.
Bucle de redirección infinito
Si después de activar la Nube Naranja el sitio no carga, revisa la pestaña SSL/TLS en Cloudflare.
- Modo Recomendado: “Full” o “Full (Strict)”.
- Evitar: “Flexible”, ya que Cloudflare intentará comunicarse con Firebase vía HTTP (80), mientras que Firebase forzará HTTPS (443), creando un ciclo sin fin.
Mejores Prácticas para tu Dominio
- Consistencia: Decide si tu marca usará
wwwo no, y mantén esa decisión en todas tus redes sociales y marketing. - Seguridad: Una vez conectado, activa en Cloudflare la opción “Always Use HTTPS”.
- Monitoreo: Utiliza herramientas como
whatsmydns.netpara verificar que tus registros se han propagado globalmente.
Conclusión
La integración de Firebase y Cloudflare es una de las configuraciones más sólidas para desarrolladores modernos. Siguiendo el flujo de configurar primero el raíz, luego la redirección del www, y respetando los tiempos de validación del SSL con la nube gris, lograrás un despliegue profesional y libre de errores.
¿Has tenido algún problema específico configurando tus DNS con otros proveedores como GoDaddy o Namecheap? Déjame tus dudas en los comentarios y lo revisamos juntos.
¿Tienes un proyecto en mente?
Convierte tu idea en un producto real
Desarrollo web, aplicaciones a medida y consultoría tecnológica para empresas y startups. Cuéntame tu proyecto y te respondo en menos de 24 horas.