Domínios personalizados assustam as pessoas sem motivo. São apenas alguns registros que importam, uma ordem sensata para adicioná-los e uma pegadinha no apex que derruba todo mundo na primeira vez. Aprenda uma vez e você nunca mais vai pensar nisso.
Como a coisa funciona
Todo host moderno — Cloudflare Pages, Vercel, Netlify — funciona da mesma forma: adicione o domínio no painel (ele mostra “pendente”), aponte um registro DNS para o destino do host, e o host provisiona o certificado TLS para você, automaticamente. Sem nginx, sem certbot, sem ficar copiando arquivos de certificado de um lado para o outro.
O destino do host é apenas um hostname para o qual você aponta:
| Host | Aponte seu registro para |
|---|---|
| Cloudflare Pages | your-project.pages.dev |
| Vercel | cname.vercel-dns.com |
| Netlify | your-site.netlify.app |
A ordem que funciona
- Adicione o domínio no painel do host primeiro, para que ele saiba que deve esperá-lo.
- O
wwwé fácil — adicione umCNAMEdewwwpara o destino do host acima. - O apex é a pegadinha. Você não pode colocar um
CNAMEpuro no domínio raiz (example.com) — isso vai contra a especificação do DNS. Use o CNAME flattening do seu provedor de DNS (o Cloudflare faz isso automaticamente) ou um registro ALIAS / ANAME. - Escolha um canônico — redirecione
www→ apex ou apex →www, não os dois ativos. Uma casa, uma URL. - Aguarde a validação e confirme que ele resolve por HTTPS antes de comemorar. O certificado costuma chegar em minutos.
As duas coisas que as pessoas esquecem
- Apex vs
www— configure os dois e depois redirecione um para o outro. Pular isso é o motivo deexample.comfuncionar maswww.example.comdar erro de certificado (ou o contrário). - O e-mail compartilha o domínio — seu app em
example.come o e-mail no mesmo domínio coexistem bem; só não apague os registrosMXenquanto estiver por lá.
Conclusão
É um trabalho de 10 minutos, não um projeto de DevOps: adicione o domínio, um CNAME para o
www, flattening/ALIAS para o apex, escolha um canônico, confirme o HTTPS. O certificado
agora é problema do host — que é exatamente como deveria ser. Já tem o app mas ainda não tem
o domínio? Esse é o caminho completo de deploy.