Registro A o CNAME: cuál usar para apuntar tu dominio

Usa un registro A cuando el destino es una dirección IP y un CNAME cuando es otro nombre (hostname). El CNAME no puede estar en el dominio raíz ni convivir con otros registros en el mismo nombre.

Actualizado el 6 min de lectura

Objetivos de aprendizaje

Después de leer este artículo podrás:

  • Entender qué devuelve cada tipo de registro en la resolución
  • Saber por qué el CNAME no funciona en el dominio raíz y qué usar en su lugar
  • Elegir el registro correcto para la raíz, www y los subdominios
En esta página

Al apuntar un dominio a un hosting, el panel de DNS te pregunta el tipo de registro. Una elección equivocada produce errores confusos: el panel rechaza el registro, el sitio desaparece o el correo deja de llegar.

La decisión es pequeña, pero una regla del estándar DNS atrapa a mucha gente. Si entiendes de dónde viene, resuelves casi todos los casos de raíz, www, subdominio y correo.

Anombre → IPmisitio.comA203.0.113.10CNAMEnombre → otro nombrewww.misitio.comCNAMEdestino.ejemplo.A198.51.100.7Dominio raíz: el CNAME no convive con otros registrosmisitio.com.SOANSMXTXTCNAME
El A lleva el nombre directo a una IP; el CNAME lo lleva a otro nombre y no puede estar en la raíz, que ya tiene otros registros.

¿Qué es un registro A?#

Un registro A asocia un nombre a una dirección IPv4. Cuando alguien consulta app.misitio.com, el DNS responde con algo como 203.0.113.10 y el navegador se conecta a esa IP. El equivalente para IPv6 es el registro AAAA.

bash
dig app.misitio.com A +short
203.0.113.10

Es el tipo más simple y el más previsible: una consulta, una respuesta. El costo es que la IP queda grabada en tu zona. Si el hosting cambia de IP, tienes que editar el registro en cada nombre que apunta a ella.

¿Qué es un CNAME?#

CNAME significa "nombre canónico". El registro dice que un nombre es un alias de otro: quien consulta el alias recibe el nombre de destino y sigue la consulta hasta encontrar una IP.

bash
dig www.misitio.com CNAME +short
misitio.com.

El punto final en el valor indica un nombre completo (FQDN). Sin él, algunos paneles añaden el dominio al valor y el destino queda mal.

La ventaja es el mantenimiento: si el destino cambia de IP, tu alias lo sigue sin que toques el DNS. La desventaja es una consulta más en la resolución, que la caché suele absorber mientras dura el TTL.

¿Cuál es la diferencia entre un registro A y un CNAME en la práctica?#

Criterio Registro A CNAME
Apunta a Una dirección IPv4 Otro nombre (hostname)
Si cambia la IP del destino Editas el registro Lo sigue solo
Consultas en la resolución Una Puede exigir una extra, para resolver el destino
Puede estar en el dominio raíz Sí No
Convive con MX, TXT, NS en el mismo nombre Sí No
Bueno para Raíz, IP fija y estable Subdominios y www que apuntan a un servicio

No hay un ganador universal: lo que decide es lo que entrega el hosting (una IP o un nombre) y dónde va a estar el registro.

¿Por qué el CNAME no funciona en el dominio raíz?#

La RFC 1034 define que, si existe un CNAME en un nombre, no debe existir ningún otro dato en ese mismo nombre. La RFC 2181 refuerza la regla, y la RFC 1912 lo resume: un CNAME no puede convivir con ningún otro dato.

El dominio raíz (misitio.com, sin prefijo, también llamado apex) siempre tiene registros SOA y NS, y normalmente también MX y TXT. Un CNAME ahí chocaría con todos ellos. Los paneles de DNS suelen rechazar el registro, y cuando lo aceptan el resultado es impredecible: la RFC 1912 advierte que BIND rechaza los demás datos del nombre cuando ve el CNAME, así que los NS se ignoran y los hosts del dominio quedan inalcanzables.

Algunos proveedores lo resuelven con CNAME flattening, también llamado ALIAS o ANAME. El propio proveedor resuelve el nombre de destino y responde con las IP como si fueran registros A. Es una función del proveedor de DNS, no del estándar, y el nombre varía: Cloudflare lo llama flattening, otros proveedores usan ALIAS o ANAME. Si el tuyo no lo tiene, usa un A en la raíz.

¿Y el correo? ¿Cómo interfiere el CNAME?#

El CNAME puede romper el correo de dos formas distintas.

CNAME en el mismo nombre que el MX. Como el CNAME no convive con otros datos, crear un CNAME en la raíz choca con el MX y el TXT (SPF, verificaciones). El correo del dominio deja de llegar. Es la causa más común de "toqué el sitio y el correo dejó de funcionar".

MX apuntando a un CNAME. La RFC 2181 (sección 10.3) dice que el destino de un MX o NS no puede ser un alias, y la RFC 1912 también lo desaconseja. El valor del MX debe ser un nombre con registro A o AAAA.

Por eso, si el dominio recibe correo, nunca pongas un CNAME en la raíz y apunta siempre el MX a un nombre que resuelva directo a una IP.

¿Cuándo usar cada uno?#

  • Dominio raíz (misitio.com): registro A, o ALIAS/ANAME/flattening si tu proveedor lo ofrece.
  • www: CNAME a la raíz (misitio.com.) o al nombre que indique el hosting. Si prefieres, un A con la misma IP.
  • Subdominios (app, api, bot): CNAME cuando el hosting da un nombre de destino. Es la opción que mejor sobrevive a los cambios de IP. Mira qué es un subdominio.
  • Hosting que solo informa una IP: registro A, en cualquier nombre.
  • Nombre que también necesita MX o TXT: registro A (o AAAA), nunca CNAME.

Ejemplo de zona para un sitio en la raíz con www y app:

Tipo Nombre Valor TTL
A @ 203.0.113.10 300
CNAME www misitio.com. 300
CNAME app destino-del-hosting.ejemplo. 300

Los valores son ficticios: usa los que te indique tu hosting. El paso a paso completo está en cómo apuntar un dominio a tu hosting, y el catálogo de tipos en qué son los registros DNS.

¿Cómo confirmar lo que está publicado?#

Consulta el tipo de registro directamente:

bash
dig misitio.com A +short
dig www.misitio.com CNAME +short
dig misitio.com MX +short

Para ver la cadena completa hasta la IP, ejecuta dig www.misitio.com: la sección ANSWER muestra el CNAME seguido del A. Si un mismo nombre muestra un CNAME y otros tipos a la vez, la zona es inconsistente y hay que corregirla.

Después de cambiar un registro, el valor antiguo puede seguir visible hasta que el TTL expire en los resolvedores.

Cómo hacerlo en Square Cloud#

Cada aplicación web en Square Cloud recibe un subdominio *.squareweb.app con HTTPS, en todos los planes, sin que tengas que crear ningún registro. El dominio propio está disponible a partir del plan Standard.

Añades el dominio en el panel, que te muestra los registros DNS necesarios, y tú los creas en tu registrador o proveedor de DNS. El destino es un CNAME a cname.squareweb.app, más un TXT de validación. El panel muestra el estado de la validación en tiempo real y emite el TLS automáticamente.

Como no hay una IP fija para poner en un registro A, el dominio raíz funciona cuando tu proveedor de DNS acepta CNAME en la raíz (flattening o ALIAS), como viste arriba. Para www, lo recomendado es un redirect al dominio principal. El dominio sigue registrado a tu nombre, y la zona DNS sigue en tus manos.

Si varias aplicaciones atienden el mismo dominio, mira también el load balancing. Los detalles están en la página de dominios.

Red

Dominio propio, TLS automático y CDN global para tu app

Más información

Preguntas frecuentes

¿Puedo usar un CNAME en el dominio raíz (ejemplo.com)?

Según el estándar del DNS, no. La raíz ya tiene registros SOA y NS, y un CNAME no puede convivir con otros datos en el mismo nombre. Usa un registro A, o un proveedor de DNS con CNAME flattening (también llamado ALIAS o ANAME).

¿El CNAME es más lento que el registro A?

En teoría sí, porque el resolvedor puede necesitar una consulta extra para llegar a la IP. En la práctica la respuesta queda en caché durante el TTL, así que la diferencia casi nunca la nota el usuario.

¿Puedo tener un CNAME y un registro MX en el mismo nombre?

No. El CNAME no puede convivir con ningún otro tipo de registro en el mismo nombre, y eso incluye MX y TXT. Es la razón por la que un CNAME en la raíz rompe el correo del dominio.

¿Un CNAME puede apuntar a otro CNAME?

Puede, formando una cadena, pero es mejor evitarlo. Cada salto añade una consulta y un punto de fallo más.

Si cambia la IP del hosting, ¿qué tengo que hacer?

Con un registro A, editas la IP a mano en cada nombre que apunta a ella. Con un CNAME, el hosting cambia la IP del nombre de destino y tu dominio la sigue solo.

Siguiente artículoAlgoritmos de balanceo de carga: round robin, least connections y másLos algoritmos de balanceo deciden qué servidor recibe cada petición. Conoce round robin, least connections, IP hash y hash consistente, con código y nginx.

Más en Redes y dominios

Ver los 27 artículos