Objetivos de aprendizado
Depois de ler este artigo, você vai conseguir:
- Decidir entre usar a raiz, o www ou um subdomínio
- Cadastrar o domínio na hospedagem e criar os registros no DNS
- Verificar o domínio, o HTTPS e corrigir os erros mais comuns
Todo app hospedado nasce com um endereço técnico, algo como meuapp.exemplo-host.app. Funciona, mas ninguém quer mandar esse link para um cliente. Um domínio personalizado troca esse endereço por meusite.com.br ou app.meusite.com.br, e o app continua o mesmo.
O processo sempre envolve três peças: o domínio, registrado no seu registrador; o DNS, onde você diz para onde cada nome aponta; e a hospedagem, que precisa reconhecer aquele nome para servir o app e emitir o certificado. Se uma peça não bate com as outras, o domínio não abre.
O que preciso ter antes de começar?#
- Um domínio registrado em seu nome, em qualquer registrador (Registro.br, Namecheap, GoDaddy e outros).
- Acesso ao painel de DNS do domínio. Se o DNS foi delegado a outro provedor, como a Cloudflare, é nele que você edita.
- Um app web no ar na hospedagem, respondendo no endereço técnico dela.
- Um plano que permita domínio próprio. Nem toda hospedagem libera isso em todos os planos, então confira antes de começar.
Se ainda não está clara a diferença entre comprar domínio e contratar hospedagem, veja domínio vs. hospedagem.
Raiz, www ou subdomínio: qual usar?#
Para o DNS, os três são nomes diferentes:
- Raiz (
meusite.com.br): o nome sem prefixo, também chamado de apex. - www (
www.meusite.com.br): um subdomínio como outro qualquer. - Outro subdomínio (
app.meusite.com.br,api.meusite.com.br): bom para separar o app do site institucional.
A diferença prática está no tipo de registro. Pela RFC 1034, um CNAME não convive com outros dados no mesmo nome, e a raiz sempre tem registros NS e SOA. Por isso a raiz geralmente usa um registro A (ou AAAA, para IPv6), enquanto o www e os demais subdomínios usam CNAME. Alguns provedores de DNS oferecem CNAME flattening, que permite apontar a raiz para um nome; outros chamam recursos parecidos de ALIAS ou ANAME.
Na dúvida, comece por um subdomínio: é o caminho com menos restrições.
Como adicionar o domínio, passo a passo?#
Cadastre o domínio na hospedagem. No painel do app, informe exatamente o nome que as pessoas vão digitar, por exemplo
app.meusite.com.br.Copie os registros que a hospedagem mostra. Ela informa o tipo (A ou CNAME) e o valor de destino. Use sempre esses valores, nunca os de outro tutorial.
Crie os registros no DNS. Exemplo genérico para um subdomínio:
Tipo Nome (host) Valor TTL CNAME appdestino-da-hospedagem.exemplo300 E para a raiz e o
www:Tipo Nome (host) Valor TTL A @203.0.113.10300 CNAME wwwmeusite.com.br.300 Os valores
destino-da-hospedagem.exemploe203.0.113.10são fictícios.Apague conflitos. Um A ou AAAA antigo no mesmo nome de um CNAME costuma fazer o painel recusar o registro.
Aguarde o DNS e a validação. Assim que a hospedagem enxergar o registro, ela aceita o domínio.
Se o painel de DNS completa o domínio sozinho, digite só o prefixo (app). Se você digitar o nome inteiro, o resultado é app.meusite.com.br.meusite.com.br, um erro muito comum. O passo a passo de DNS em detalhe está em como apontar um domínio para sua hospedagem.
Como saber se o domínio está funcionando?#
Consulte o DNS diretamente, sem passar pelo cache do navegador:
dig app.meusite.com.br CNAME +short
dig meusite.com.br A +shortA resposta deve ser o destino que a hospedagem indicou. Depois confirme o HTTP e o certificado:
curl -I https://app.meusite.com.brUm status 200 (ou um redirecionamento esperado) com o certificado aceito indica que está tudo certo. Se o dig já responde certo mas o navegador mostra o endereço antigo, o problema é cache: teste numa aba anônima.
O tempo até a mudança valer depende do TTL do registro anterior, que fica em cache nos resolvedores. Um nome novo costuma resolver em minutos; trocar um registro existente com TTL de 3600 pode levar até uma hora. Antes de migrar um domínio em uso, baixe o TTL para 300 e espere o valor antigo expirar.
E o HTTPS?#
O certificado só pode ser emitido depois que o domínio resolve para a hospedagem, porque você precisa provar à autoridade certificadora que controla o nome. Em hospedagens com TLS automático, a emissão acontece sozinha logo em seguida. Para entender o mecanismo, veja como o Let's Encrypt funciona.
Registros CAA restringem quais autoridades podem emitir certificados para o domínio (RFC 8659). Sem nenhum CAA, qualquer autoridade pode emitir. Se houver algum, inclua a autoridade que a sua hospedagem usa. Para o Let's Encrypt, o valor é letsencrypt.org, segundo a documentação dele:
meusite.com.br. CAA 0 issue "letsencrypt.org"Confirme com a hospedagem qual autoridade ela usa antes de criar um CAA.
Quais são os erros mais comuns?#
- CNAME na raiz: o painel recusa. Use A ou um provedor com CNAME flattening.
- Registro conflitante: um A antigo no mesmo nome do CNAME.
- Nameservers errados: você edita o DNS no registrador, mas o domínio está delegado a outro provedor. Confira com
dig NS meusite.com.br +short. - Só um dos nomes configurado:
meusite.com.brabre ewww.meusite.com.brnão. Cadastre os dois. - Proxy da Cloudflare ligado na validação: o registro proxied esconde o destino real e pode atrapalhar a validação. Teste em DNS only.
- CAA bloqueando a emissão: veja a seção anterior.
- Erro de domínio inexistente: veja DNS_PROBE_FINISHED_NXDOMAIN.
Se o navegador mostrar erro de certificado, o guia de erros de certificado SSL explica as causas.
Como fazer isso na Square Cloud#
Na Square Cloud, as três peças deste guia ficam bem separadas. O domínio segue registrado em seu nome no seu registrador, a zona DNS continua no registrador ou no provedor de DNS que você escolheu, e a plataforma reconhece o nome e entrega o HTTPS. O domínio personalizado está disponível a partir do plano Standard (a partir de R$ 44,99 por mês). O Hobby não inclui esse recurso e usa o subdomínio *.squareweb.app, que toda aplicação web recebe com HTTPS em todo plano.
O passo a passo é o da seção acima, com valores fixos. No painel da aplicação, você adiciona o domínio e vê os dois registros a criar: um CNAME para cname.squareweb.app e um TXT de validação. O status da validação aparece em tempo real, e o certificado é emitido e renovado automaticamente depois que o DNS resolve. Para usar a raiz, o seu provedor de DNS precisa aceitar CNAME na raiz (flattening ou ALIAS); para o www, o recomendado é redirecionar para o domínio principal. Domínios com acento (Punycode) são aceitos, e o painel oferece purge de cache.
Com o domínio no ar, o mesmo nome pode atender mais de uma aplicação com load balancing. Veja os detalhes em domínios personalizados e compare os planos em preços.
Rede
Domínio próprio, TLS automático e CDN global para o seu app
Perguntas frequentes
Preciso comprar o domínio na mesma empresa da hospedagem?
Não. O domínio pode ficar em qualquer registrador. A hospedagem só informa quais registros DNS você deve criar na zona do domínio.
Posso usar o domínio raiz e o www ao mesmo tempo?
Sim, mas são dois nomes no DNS. Cadastre os dois na hospedagem, ou cadastre um e faça o outro redirecionar para ele, pelo próprio app ou por um recurso de redirecionamento do seu provedor de DNS.
O HTTPS é configurado automaticamente?
Depende da hospedagem. Em geral o certificado só é emitido depois que o domínio resolve para ela, então o primeiro passo é acertar o DNS.
O que muda se meu DNS estiver na Cloudflare?
Você cria os registros lá. Se o registro for proxied (nuvem laranja), o tráfego passa pela Cloudflare antes da hospedagem; se der erro de validação ou de certificado, teste com o registro em DNS only.
Mais em Rede e domínios
Ver todos os 27 artigos- O que é load balancer (balanceamento de carga)Load balancer é o componente que distribui requisições entre vários servidores. Veja como funciona, os algoritmos, as camadas 4 e 7 e um exemplo com nginx.
- Registros DNS: A, CNAME, MX e TXT explicadosRegistros DNS são as instruções de uma zona que dizem para onde um nome aponta. Entenda A, AAAA, CNAME, MX, TXT, NS e CAA com exemplos e comandos dig.
- Como apontar um domínio para sua hospedagemPara apontar um domínio para sua hospedagem, crie um registro CNAME (ou A) no DNS do seu registrador. Veja o passo a passo, como testar e os erros comuns.
- Cabeçalho Cache-Control: quanto tempo o navegador e a CDN guardam um arquivoCache-Control é o cabeçalho HTTP que define quanto tempo navegador e CDN guardam uma resposta. Veja max-age, no-cache, immutable e receitas por tipo de arquivo.