O que é um Registro CNAME?
Um registro CNAME (Nome Canônico) é um tipo de registro DNS que cria um alias de um nome de domínio para outro. Em vez de apontar diretamente para um endereço IP como um registro A, um CNAME aponta para outro nome de domínio, que é então resolvido para um endereço IP.
Como Registros CNAME Funcionam
Quando você configurar um CNAME:
www.example.com. IN CNAME example.com.
O processo de resolução:
1. Usuário solicita www.example.com
2. DNS encontra CNAME apontando para example.com
3. DNS então resolve o registro A de example.com
4. Endereço IP final é retornado
Esta resolução em cadeia significa que alvos CNAME devem eventualmente resolver para um registro A ou AAAA.
Casos de Uso Comuns para CNAME
Subdomínio WWW
Apontar www para seu domínio raiz:
www IN CNAME example.com.
Integração com CDN
Apontar seu domínio para um endpoint CDN:
cdn.example.com IN CNAME d111111abcdef8.cloudfront.net.
Hospedagem em Plataforma
Apontar para provedores de hospedagem:
blog.example.com IN CNAME yoursite.wordpress.com.
shop.example.com IN CNAME shops.myshopify.com.
Aplicações SaaS
Conectar subdomínios a plataformas SaaS:
docs.example.com IN CNAME example.gitbook.io.
status.example.com IN CNAME stats.uptimerobot.com.
CNAME vs Registro A
| Cenário | Use CNAME | Use Registro A |
|---|---|---|
| Domínio raiz (@) | ❌ Não permitido | ✅ Exigido |
| Subdomínio para IP estático | Qualquer um funciona | ✅ Direto |
| Subdomínio para provedor | ✅ Preferido | ❌ IP pode mudar |
| Configuração de CDN | ✅ Típico | Varia |
| Balanceamento de carga | ❌ Não pode ter múltiplos | ✅ Múltiplos IPs |
Por que Domínios Raiz Não Podem Usar CNAME
A especificação DNS (RFC 1034) proíbe registros CNAME de coexistirem com outros tipos de registro no mesmo nome. Como domínios raiz precisam de registros SOA e NS, eles não podem ter registros CNAME.
Soluções para aliasing de domínio raiz:- Registros ALIAS/ANAME: Pseudo-registros específicos do provedor DNS
- Flattening CNAME: Cloudflare e outros resolvem CNAMEs para registros A
- Redirecionar www para raiz: Use CNAME para www, redirecione para @ no nível de aplicação
Cadeias CNAME
CNAMEs podem apontar para outros CNAMEs (encadeamento):
blog.example.com → myblog.host.com
myblog.host.com → lb-1234.hosting.com
lb-1234.hosting.com → 203.0.113.50 (registro A)
Embora válido, cadeias adicionam latência. A maioria dos provedores DNS limita comprimento de cadeia para prevenir loops infinitos.
Configuração de Registro CNAME
Sintaxe Básica
subdominio IN CNAME dominio.alvo.com.
Importante: O domínio alvo deve incluir um ponto final (.) para indicar que é totalmente qualificado. Sem ele, alguns servidores DNS acrescentarão o domínio de origem.
Considerações de TTL
TTLs de CNAME afetam quão rapidamente mudanças se propagam:
www 300 IN CNAME example.com.
TTLs mais baixos (300 segundos) permitem atualizações mais rápidas; TTLs mais altos reduzem consultas DNS.
Verificando Registros CNAME
Usando dig:dig www.example.com CNAME
; ANSWER SECTION:
www.example.com. 300 IN CNAME example.com.
Rastreio de resolução completa:
dig +trace www.example.com
Problemas Comuns com CNAME
CNAME em Domínio Raiz
example.com IN CNAME outro.com. ; INVÁLIDO
Isso quebra email (registros MX) e outros serviços.
CNAME com Outros Registros
blog.example.com IN CNAME host.com.
blog.example.com IN MX mail.host.com. ; INVÁLIDO
Um nome com CNAME não pode ter outros tipos de registro.
Registros Alvo Faltando
Se o alvo do CNAME não resolver, seu subdomínio também não funcionará. Verifique se alvos são válidos antes de configurar CNAMEs.
Melhores Práticas
1. Use CNAMEs para serviços de terceiros: Deixe provedores gerenciarem mudanças de IP
2. Evite cadeias profundas: Cada salto adiciona latência
3. Não faça CNAME da raiz: Use registros A ou ALIAS
4. Inclua pontos finais: Garanta nomes de alvo totalmente qualificados
5. Monitore alvos CNAME: Mudanças externas podem afetar seu site