Os registros que você encontrará em quase toda zona
CNAME vs registro A: qual você deve usar?
Os dois registros apontam um nome de host para algum lugar. A diferença está em para o quê eles apontam, e isso determina quem é responsável por manter a configuração correta quando um endereço IP muda.
| Registro A | Registro CNAME | |
|---|---|---|
| Aponta para | Um endereço IP | Outro nome de host |
| Exemplo | 93.184.216.34 | myapp.herokudns.com |
| Consulta extra? | Não: é a resposta final | Sim: o destino também precisa ser resolvido |
| Permitido na raiz? | Sim | Não (veja abaixo) |
| Outros registros no mesmo nome? | Sim | Não: precisa ficar sozinho |
| Atualiza quando o IP muda? | Você precisa editar | Automaticamente |
A decisão em uma pergunta
Ponto-chave
Você controla o endereço IP e sabe que ele não vai mudar? Use um registro A. Está apontando para um serviço operado por outra pessoa? Use um CNAME, para que as mudanças de endereço dela não derrubem o seu.
Para a maioria das pessoas, essa é realmente toda a decisão. O restante deste artigo trata dos detalhes que costumam causar problemas.
Como um CNAME é resolvido
CNAME significa Canonical Name (nome canônico). Ele diz: este nome é um alias, vá consultar aquele outro nome no lugar.
shop.example.com. 3600 IN CNAME stores.myshopify.com.
stores.myshopify.com. 300 IN A 23.227.38.65Um resolvedor que pergunta por shop.example.com recebe o CNAME, depois resolve stores.myshopify.com e então retorna 23.227.38.65. São duas consultas em vez de uma: alguns milissegundos, quase sempre atendidos pelo cache.
A vantagem é que, quando a Shopify muda para um novo endereço, ela altera um único registro A do lado dela e o seu domínio acompanha automaticamente. Com um registro A, você ficaria fora do ar até perceber o problema e editar o registro por conta própria.
A restrição do domínio raiz
Esta é a frustração mais comum com DNS, e é uma regra do protocolo, não uma limitação do seu provedor.
É por isso que hospedagens que só fornecem um nome de host (myapp.herokuapp.com) criam um problema na raiz. Há três saídas:
ALIAS / ANAME / achatamento de CNAME
Muitos provedores de DNS oferecem um tipo de registro sintético que se comporta como um CNAME na raiz. O próprio provedor resolve o destino e serve o IP resultante como um registro
Anormal, então a regra do protocolo nunca é violada. A Cloudflare chama isso de CNAME flattening; o Route 53 chama de registro alias.Redirecionar a raiz para o www
Aponte a raiz para um pequeno serviço de redirecionamento e coloque o CNAME no
www. É simples e universalmente suportado, ao custo de um salto extra para os visitantes.Usar um registro A e aceitar a manutenção
Se o seu provedor publica IPs estáveis e os documenta como estáticos, um registro A na raiz funciona bem. Confirme que ele garante essa estabilidade: muitos explicitamente não garantem.
Um CNAME precisa ficar sozinho
Se um nome tem um CNAME, ele não pode ter mais nada: nenhum A, nenhum MX, nenhum TXT.
mail.example.com. IN CNAME ghs.googlehosted.com.
mail.example.com. IN TXT "v=spf1 include:_spf.google.com ~all"Alguns provedores rejeitam isso de imediato; pior ainda, alguns aceitam e passam a se comportar de forma imprevisível. Se você precisa de um registro TXT em um nome, esse nome não pode ser um CNAME.
Quando cada um é a escolha certa
Use um registro A para
- O seu domínio raiz, na grande maioria dos casos.
- Um servidor que você mesmo opera em um IP estático: uma VPS, uma máquina dedicada, um endereço de nuvem reservado.
- Qualquer lugar em que você precise de outros registros no mesmo nome.
- Destinos de
MX, que precisam resolver para endereços.
Use um CNAME para
- Subdomínios que apontam para uma plataforma gerenciada (Shopify, Heroku, Netlify, Vercel).
- O
www, apontado para a sua raiz ou para o nome de host da sua hospedagem. - Subdomínios de verificação de domínio que os provedores pedem que você crie.
- Qualquer coisa cujo IP de origem não está sob o seu controle.
Conferindo o que você tem
dig +short www.example.com CNAME
dig +short www.example.com AA ferramenta de consulta mostra os registros A, AAAA e CNAME juntos para qualquer domínio, o que facilita identificar um nome que tem ambos quando não deveria.
Precisa conferir os endereços DNS públicos de um domínio? Use a ferramenta Domain IP Lookup.
Ferramentas gratuitas sobre este assunto
Perguntas frequentes
Leitura relacionada
Os registros que você encontrará em quase toda zona
O que é um registro A de DNS? (E quando usar o AAAA)
O registro que de fato aponta o seu domínio para um servidor: a anatomia, o equivalente AAAA e os quatro erros que mais derrubam sites.
Os registros que você encontrará em quase toda zona
Tipos de registro DNS explicados: referência completa
Todos os tipos de registro que vale conhecer, o que cada um faz, qual é a sua aparência e o erro que as pessoas cometem com ele, em uma única página de referência.
Uma consulta DNS recursiva, um salto de cada vez
Navegador
quer example.com
Resolvedor
seu provedor / 1.1.1.1
Raiz + TLD
quem opera o .com?
Autoritativo
a resposta real
Cada salto desta cadeia é em si uma consulta DNS, depois armazenada em cache
O que é um servidor de nomes? Como funciona a delegação
A configuração que decide qual provedor controla o seu DNS, e o motivo de as suas edições de registros às vezes não terem efeito nenhum.