Registros CNAME explicados
Comprende cómo funcionan los registros CNAME, sus limitaciones y cuándo usarlos. Incluye ejemplos para el panel de control y la API de DNScale.
Un registro CNAME (Canonical Name) crea un alias de un nombre de dominio a otro. En lugar de apuntar a una dirección IP, un CNAME apunta a otro nombre de dominio, que luego se resuelve para obtener la dirección IP final.
Cómo funcionan los registros CNAME
Cuando un resolver DNS encuentra un registro CNAME, sigue el alias para encontrar la dirección IP real:
blog.example.com. 3600 CNAME example.com.
example.com. 3600 A 192.0.2.1Flujo de consulta:
- El cliente solicita
blog.example.com - DNS devuelve un CNAME apuntando a
example.com - DNS luego resuelve
example.coma192.0.2.1 - El cliente se conecta a
192.0.2.1
Casos de uso comunes
Alias de subdominios
Apuntar múltiples subdominios al mismo destino:
www.example.com. 3600 CNAME example.com.
blog.example.com. 3600 CNAME example.com.
shop.example.com. 3600 CNAME example.com.Integración con CDN
Apuntar tu dominio a un proveedor CDN:
www.example.com. 3600 CNAME d1234.cloudfront.net.
static.example.com. 3600 CNAME example.b-cdn.net.Integración con servicios en la nube
Apuntar subdominios a plataformas en la nube:
app.example.com. 3600 CNAME myapp.herokuapp.com.
docs.example.com. 3600 CNAME example.gitbook.io.Verificación de servicios de correo
Muchos servicios de correo requieren registros CNAME:
em1234.example.com. 3600 CNAME u1234.wl.sendgrid.net.Formato del registro
| Campo | Descripción | Ejemplo |
|---|---|---|
| Nombre | Subdominio a crear alias | www, blog, api |
| Tipo | Tipo de registro | CNAME |
| Contenido | Nombre de dominio destino | example.com. |
| TTL | Tiempo de vida (segundos) | 3600 |
Limitaciones importantes
1. No se puede usar en el dominio raíz/apex
Los registros CNAME no pueden usarse en el dominio raíz (apex):
# ❌ NO PERMITIDO
example.com. CNAME other.com.
# ✅ PERMITIDO
www.example.com. CNAME other.com.Para dominios apex, usa registros ALIAS en su lugar.
2. Debe ser el único registro en ese nombre
Un CNAME no puede coexistir con otros tipos de registro en el mismo nombre:
# ❌ NO PERMITIDO - conflicto con CNAME
www.example.com. CNAME example.com.
www.example.com. TXT "verification=abc123"
# ✅ PERMITIDO - CNAME es el único registro
www.example.com. CNAME example.com.3. Agrega latencia de búsqueda
Cada CNAME introduce una búsqueda DNS adicional, lo que puede aumentar la latencia. Para aplicaciones donde el rendimiento es crítico, considera usar registros A/AAAA directamente.
Agregar un registro CNAME
Usando el panel de control
- Navega a tu zona en el panel de control de DNScale
- Haz clic en Add Record
- Configura el registro:
- Name: Ingresa el subdominio (por ejemplo,
www,blog) - Type: Selecciona
CNAME - Value: Ingresa el nombre de dominio destino
- TTL: Establece la duración del caché (predeterminado: 3600)
- Name: Ingresa el subdominio (por ejemplo,
- Haz clic en Create Record
Usando la API
Crear un registro CNAME:
curl -X POST "https://api.dnscale.eu/v1/zones/{zone_id}/records" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "www",
"type": "CNAME",
"content": "example.com",
"ttl": 3600
}'Apuntar subdominio a CDN:
curl -X POST "https://api.dnscale.eu/v1/zones/{zone_id}/records" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "cdn",
"type": "CNAME",
"content": "d1234567.cloudfront.net",
"ttl": 3600
}'Respuesta de la API:
{
"status": "success",
"data": {
"message": "Record created successfully",
"record": {
"id": "encoded-record-id",
"name": "www.example.com.",
"type": "CNAME",
"content": "example.com.",
"ttl": 3600,
"disabled": false
}
}
}Mejores prácticas
-
Usa puntos finales - El dominio destino debe terminar técnicamente con un punto (por ejemplo,
example.com.), aunque DNScale lo gestiona automáticamente -
Verifica conflictos - Asegúrate de que no existan otros registros en el nombre del CNAME
-
Considera el TTL cuidadosamente - Usa TTLs más cortos si el destino podría cambiar (por ejemplo, durante migraciones de CDN)
-
No encadenes demasiados CNAMEs - Aunque DNS permite cadenas de CNAME, añaden latencia y complejidad
-
Usa ALIAS para el apex - Si necesitas un comportamiento similar a CNAME en el dominio raíz, usa registros ALIAS
CNAME vs ALIAS vs registro A
| Característica | CNAME | ALIAS | A |
|---|---|---|---|
| Apunta a | Nombre de dominio | Nombre de dominio | Dirección IP |
| Funciona en apex | No | Sí | Sí |
| Puede coexistir con otros registros | No | Sí | Sí |
| Búsqueda DNS adicional | Sí | No (resuelto en el autoritativo) | No |
Probar registros CNAME
Verifica tu registro CNAME con dig:
dig CNAME www.example.com
# Seguir la cadena para obtener la IP final
dig +trace www.example.comTipos de registro relacionados
- A - Mapeo directo a IPv4
- AAAA - Mapeo directo a IPv6
- ALIAS - Comportamiento similar a CNAME para dominios apex
Conclusión
Los registros CNAME son invaluables para simplificar la gestión DNS, especialmente al integrarse con servicios de terceros. Comprender sus limitaciones — particularmente en relación con los dominios apex y la coexistencia de registros — te ayuda a tomar la decisión correcta entre CNAME, ALIAS y registros A/AAAA directos.