Un registro CNAME crea un alias. Vincula un nombre de dominio a otro nombre. El resolutor luego sigue este nombre de destino para encontrar registros A o AAAA. El navegador obtiene entonces la dirección del servidor a través de esta cadena.
Un registro CNAME contiene un nombre, un tipo, un destino y un TTL. El TTL indica cuánto tiempo la respuesta permanece en la caché del resolutor local.
| Nombre | Tipo | Destino | TTL en segundos |
|---|
| www | CNAME | proveedor.ejemplo.net. | 3600 |
En este ejemplo, el nombre www es un alias. El destino es otro nombre de dominio. Este nombre de destino debe publicar registros A o AAAA para proporcionar una dirección. El TTL de 3600 corresponde a una hora.
Un mismo nombre no puede tener varios registros CNAME. Un CNAME no puede coexistir con otros registros en el mismo lugar. Ni A, ni AAAA, ni MX, ni TXT en la misma etiqueta. El CNAME debe estar solo.
Un TTL corto acelera la visibilidad de un cambio de destino. Útil durante una migración a un nuevo proveedor.
Un TTL medio o largo reduce las consultas a los servidores autoritativos. Adecuado para un servicio estable.
Se recomienda reducir el TTL unas horas antes de un cambio y luego aumentarlo cuando todo esté estable.
Bueno saberlo
Un CNAME puede crear una cadena hacia otro CNAME. Funciona, pero cada salto añade un ligero retraso. Es mejor apuntar directamente al nombre final cuando sea posible.
En la raíz de un nombre de dominio, lo que se llama el ápice (apex), se evita el CNAME porque el ápice ya debe publicar SOA y NS. Algunos proveedores ofrecen una función equivalente llamada aplanamiento (flattening) o ALIAS.
Para www, un CNAME suele ser práctico cuando el destino es gestionado por un proveedor. Para api, cdn, o static, un CNAME mantiene la arquitectura flexible. El destino cambia sin tocar el nombre original.
A evitar
Poner un CNAME en el mismo lugar que un A, un AAAA, un MX o un TXT no es conforme a los estándares.
Utilizar un CNAME en el ápice sin una función dedicada del proveedor.
Apuntar un registro MX a un nombre que es a su vez un CNAME. El MX debe apuntar a un nombre que publique registros A o AAAA.
Una búsqueda de DNS en línea (DNS lookup) permite introducir un nombre. Se obtiene el destino del CNAME y el TTL visible desde Internet. Es una primera comprobación útil. Luego, se debe hacer una prueba local desde su propia máquina.
Windows proporciona nslookup. Se puede utilizar en modo interactivo.
nslookup
set q=cname
www.ejemplo.com
nslookup
set q=cname
server 1.1.1.1
www.ejemplo.com
La primera parte consulta según la configuración de red de la máquina. La segunda parte fuerza el uso de un resolutor de terceros, en este caso el de Cloudflare.
En estos sistemas, el comando dig es práctico y fácil de usar.
dig CNAME www.ejemplo.com
dig CNAME www.ejemplo.com @1.1.1.1
Una respuesta que muestra un CNAME indica el nombre de destino. Luego, es necesario verificar que este nombre de destino publique correctamente registros A o AAAA.
Un TTL restante elevado puede explicar un retraso después de un cambio de destino.
Una cadena de CNAME demasiado larga puede crear un retraso. Reduzca la cadena cuando sea posible.
- Preparar el destino final que publica A o AAAA.
- Reducir el TTL del CNAME a 300 o incluso 60 segundos unas horas antes del cambio.
- Cambiar el destino del CNAME en el momento previsto.
- Verificar con nslookup o con el comando dig desde varias redes.
- Aumentar el TTL a un valor cómodo cuando todo esté estable.
Consejo práctico
Anotar el destino actual y el destino previsto antes de cualquier modificación. Conservar la fecha, el TTL y el motivo del cambio. Este registro evita confusiones y acelera una reversión si es necesario.
Definir www como CNAME hacia el nombre proporcionado por el CDN. Conservar registros A y AAAA en el ápice si la plataforma ofrece un equivalente al CNAME en la raíz.
Para un servicio gestionado por un tercero, como mensajería transaccional o análisis, un CNAME permite delegar la resolución sin publicar una dirección.
Apuntar preprod como CNAME a un nombre de alojamiento distinto. Cambio simple al modificar el destino cuando la versión está validada.
- Si el sitio no responde, verifique primero que el CNAME apunte al nombre correcto.
- Verifique que el destino publique registros A o AAAA. Sin esto, la resolución no proporcionará una dirección.
- Si un servicio cambia de infraestructura, actualice el destino. Evite las cadenas innecesarias.
- Si la respuesta sigue siendo antigua, espere a que expire el TTL y purgue la caché del resolutor local si es posible.
En resumen, un registro CNAME crea un alias entre dos nombres. El resolutor sigue el destino para obtener registros A o AAAA. Un CNAME debe estar solo en el mismo lugar. Se evita el CNAME en el ápice, salvo función dedicada del proveedor. La verificación se realiza a través de una herramienta en línea y luego con nslookup y dig.
Con estas pautas, la gestión se mantiene clara. Los cambios se realizan sin estrés. Los visitantes acceden al sitio sin incidentes.