Você criou um site com IA e ele funciona perfeitamente, no seu próprio computador. A barra de endereços mostra localhost:3000, ou talvez uma sequência de números como 203.0.113.10. Você manda o link para um amigo e ele não abre.
Isso não é um bug. É a distância entre rodar um site e publicá-lo, e a peça que falta quase sempre é um nome de domínio. Este guia explica a diferença entre os endereços que você talvez esteja usando hoje, por que a maioria deles não pode ser o endereço real do seu site e como migrar para um domínio de verdade em qualquer tipo de hospedagem.
Neste guia
Os quatro tipos de endereço
Um site pode ser acessado de quatro maneiras diferentes. Elas parecem semelhantes, mas funcionam de formas muito distintas.
| Tipo de endereço | Exemplo | Quem consegue abrir |
|---|---|---|
| localhost | http://localhost:3000 | Apenas o computador em que ele roda |
| IP de rede local | http://192.168.1.20 | Dispositivos no mesmo Wi-Fi ou roteador |
| IP de servidor | http://203.0.113.10 | Qualquer pessoa online, mas veja abaixo |
| Nome de domínio | https://mysite.com | Qualquer pessoa, em qualquer lugar |
Os números deste guia são exemplos. 203.0.113.x é uma faixa reservada para exemplos, então nunca aponta para um servidor real.
Por que o localhost só funciona para você
localhost (também escrito 127.0.0.1) significa «esta mesma máquina». Quando você digita isso, seu computador fala consigo mesmo. Quando seu amigo digita o mesmo endereço, o computador dele fala com ele mesmo, não encontra nada e mostra um erro. A palavra significa algo diferente em cada dispositivo.
Endereços que começam com 192.168., 10. ou 172.16. a 172.31. são a mesma coisa em escala maior. São endereços privados usados dentro de casas e escritórios. Quem está no seu Wi-Fi consegue abri-los, mas ninguém na internet consegue.
Rodar um site localmente é a forma certa de construí-lo. O problema começa quando esse é o único lugar onde ele existe. Seu site também só fica no ar enquanto seu computador está ligado e o aplicativo está rodando.
Por que o IP de um servidor não é um endereço de verdade
Quando seu site roda em um servidor real, seja hospedagem compartilhada, um VPS ou uma máquina na nuvem, você pode abri-lo pelo endereço IP do servidor. Algumas pessoas param por aí. Isso causa vários problemas:
- O servidor pode não saber qual site mostrar. Um mesmo IP costuma atender vários sites, e o servidor decide qual mostrar com base no nome de domínio da requisição. Se você abrir só o IP, pode aparecer uma página padrão, um erro ou o site de outra pessoa.
- Sem HTTPS adequado. O HTTPS normalmente é configurado para um nome de domínio, e um IP puro geralmente não consegue o certificado gratuito padrão. Sem HTTPS, os navegadores mostram «Não seguro», e tudo o que os visitantes digitam, como senhas e dados de formulários, viaja de forma legível.
- Quebra quando você muda. O IP pertence ao servidor. Se você trocar de hospedagem ou de plano, o número muda e todos os links que você compartilhou deixam de funcionar. Com um domínio, basta apontá-lo para o novo servidor.
- Pessoas e filtros não confiam nele. Muitos filtros de spam e ferramentas de segurança tratam links feitos só de números como suspeitos, e os visitantes não conseguem lembrá-los nem reconhecê-los.
- Sem e-mail profissional. Um endereço como
hello@mysite.comprecisa de um domínio. - Cópias duplicadas para os buscadores. Se seu site responde tanto pelo IP quanto pelo domínio, os buscadores podem ver duas cópias de cada página.
O que é de fato um domínio
Os computadores se encontram usando números IP. Um nome de domínio é um rótulo amigável para esse número, e um sistema chamado DNS funciona como a lista telefônica da internet: você informa um nome e ele devolve o número.
Três partes estão envolvidas:
- O registrador: a empresa onde você registra o domínio. Você não compra um domínio para sempre. Você o aluga, geralmente um ano por vez, e o renova.
- O DNS: guarda os registros que dizem para qual servidor seu domínio aponta.
- Sua hospedagem: onde ficam os arquivos do seu site.
Coloque seu site no seu domínio
Os passos seguem a mesma ideia em qualquer hospedagem. Só mudam os botões e os nomes dos menus.
1. Descubra onde seu site está
Para onde você aponta o domínio depende do seu tipo de hospedagem:
| Onde seu site está | O que sua hospedagem fornece | Registro habitual |
|---|---|---|
| Hospedagem compartilhada | Um endereço IP de servidor | Registro A para esse IP |
| VPS ou servidor na nuvem | Um endereço IP de servidor | Registro A para esse IP |
| Plataforma de sites (como Vercel, Netlify ou Render) | Um nome de host para apontar e, às vezes, IPs | CNAME ou A, conforme a plataforma indicar |
Siga sempre as instruções da sua hospedagem para os valores exatos. Elas aparecem no painel ou na documentação e, muitas vezes, no e-mail de boas-vindas.
2. Aponte o domínio para a sua hospedagem
Você pode fazer isso de duas maneiras. Escolha uma, não as duas.
- Opção A: trocar os servidores de nomes (nameservers). No seu registrador, substitua os nameservers do domínio pelos que sua hospedagem fornece. A partir daí, você gerencia todos os registros no painel da hospedagem.
- Opção B: manter o DNS onde está (no registrador ou em um serviço como o Cloudflare) e adicionar os registros lá: um registro A que envia o domínio ao IP do seu servidor e um registro CNAME para que o
wwwo acompanhe.
Armadilha comum: os registros só valem onde o DNS do seu domínio está de fato hospedado. Se você trocou os nameservers pelos da sua hospedagem (Opção A), os registros que adicionar no registrador são ignorados, e vice-versa.
3. Avise sua hospedagem sobre o domínio
Apontar o domínio para um servidor não basta. O servidor também precisa saber qual site pertence a esse nome. Toda hospedagem tem um lugar para isso: uma página de Domínios na hospedagem compartilhada (a do cPanel é um exemplo), uma linha server_name nas configurações do servidor web no seu próprio servidor, ou uma aba Domínios nas configurações do projeto de uma plataforma. Se você pular esta etapa, seu domínio chega ao servidor, mas mostra uma página padrão.
4. Espere o DNS se propagar
Isso se chama propagação. Pode levar de alguns minutos a um ou dois dias, embora costume ser rápido. Até terminar, o domínio pode falhar ou mostrar uma página antiga para algumas pessoas.
5. Ative o HTTPS
A maioria das plataformas e muitas hospedagens instalam um certificado gratuito automaticamente assim que seu domínio aponta para elas. No seu próprio servidor, você pode usar um serviço de certificados gratuitos como o Let's Encrypt com a ferramenta Certbot. Em ambos os casos, o domínio já precisa estar apontando para o servidor. Quando terminar, configure o site para redirecionar todas as visitas de http para https.
6. Escolha uma só versão do seu endereço
mysite.com e www.mysite.com contam como dois endereços diferentes. Escolha um como principal e redirecione o outro para ele. As plataformas costumam ter uma configuração para isso. Em um servidor Apache, estas regras resolvem (coloque-as no arquivo .htaccess do site). A primeira envia o www para o domínio sem www, e a segunda envia para o seu domínio quem chegar pelo IP puro do servidor:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.mysite\.com$ [NC]
RewriteRule ^(.*)$ https://mysite.com/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^203\.0\.113\.10$
RewriteRule ^(.*)$ https://mysite.com/$1 [L,R=301]
Troque o domínio e o IP de exemplo pelos seus. No Nginx ou em outro servidor a ideia é a mesma, mas a sintaxe é diferente, então consulte a documentação dele.
Corrija os endereços escondidos no seu código
Códigos escritos por IA costumam ter localhost embutido. Em um site no ar, isso quebra as coisas de um jeito confuso. O navegador do visitante entende localhost como o computador dele mesmo, então sua página tenta carregar dados de uma máquina que não tem nada a ver com o seu site.
Ruim:
fetch("http://localhost:3000/api/products")
Bom (funciona em qualquer lugar):
fetch("/api/products")
Pesquise em todo o seu projeto por localhost, 127.0.0.1, 192.168 e qualquer IP que você tenha usado. Depois verifique estes lugares:
- Configurações da URL do site: valores como
APP_URLouBASE_URLdevem usar seu domínio real, comhttps. - Serviços de login e de pagamento: o login com Google, gateways de pagamento e serviços semelhantes precisam do seu domínio real nos painéis deles, como endereço de redirecionamento (callback) permitido. Os webhooks de pagamento não conseguem alcançar o
localhostde jeito nenhum, porque os servidores do gateway precisam de um endereço HTTPS público. - Origens permitidas (CORS): se o seu código lista endereços permitidos, troque
localhostpelo seu domínio. - Sitemap e tags canônicas: devem mostrar o domínio, não um IP nem um endereço local.
Uma exceção: o endereço do banco de dados depende da sua configuração. Em muitas hospedagens, o banco de dados roda no mesmo servidor do seu site, então localhost está correto ali. Em bancos de dados na nuvem ou gerenciados, o provedor fornece um endereço separado para você usar. Nunca deixe um banco de dados aberto para toda a internet.
Problemas comuns
- «Não é possível acessar este site» logo após a configuração: o DNS pode ainda não ter se propagado ou algum registro está errado. Espere e depois confira os registros.
- O domínio mostra a página padrão da sua hospedagem: o domínio chega ao seu servidor, mas o servidor não sabe que o site pertence a ele. Adicione o domínio nas configurações da sua hospedagem.
- Mostra um site antigo ou o de outra pessoa: um registro antigo ou o cache do navegador. Tente uma janela anônima ou outra rede.
- «Não seguro» ou erro de certificado: o certificado ainda não foi emitido, ou o domínio ainda não aponta para a sua hospedagem.
- Funciona com
wwwmas não sem ele (ou o contrário): falta um registro. Adicione o CNAME para owww. - Usar uma ferramenta de túnel para uma demonstração: ferramentas como ngrok ou Cloudflare Tunnel servem para um teste rápido, mas não são hospedagem.
- Abrir o roteador de casa para a internet (redirecionamento de portas): evite. Isso expõe a sua rede doméstica, e os IPs residenciais costumam mudar.
Proteja seu domínio
Seu domínio é o endereço mais valioso que você tem, então proteja-o:
- Ative a renovação automática. Um domínio vencido pode ser registrado por outra pessoa.
- Use uma senha forte e exclusiva e a autenticação em dois fatores na sua conta do registrador.
- Ative o bloqueio do registrador, que impede a transferência do domínio sem a sua aprovação.
- Mantenha seu e-mail de contato atualizado, pois os avisos de renovação e de segurança são enviados para lá.
A autoverificação de 2 minutos
- Abra
http://IP-DO-SEU-SERVIDOR. Ele não deve mostrar o seu site (ou deve levar você ao seu domínio). - Abra
http://mysite.com. Ele deve terminar emhttps://mysite.comcom um cadeado. - Abra a versão com
www. Ela deve terminar no mesmo endereço final. - Pesquise no seu projeto por
localhoste por qualquer número de IP. - Em um terminal, execute
nslookup mysite.com. A resposta deve mostrar o IP da sua hospedagem (ou, em uma plataforma, indicar os servidores dela).
A lista rápida
- Use o
localhostsó para construir, nunca como seu endereço - Registre um domínio e ative a renovação automática e a autenticação em dois fatores
- Aponte-o para a sua hospedagem com nameservers (Opção A) ou com registros A e CNAME (Opção B), não os dois
- Adicione o domínio nas configurações da hospedagem para que o servidor saiba a qual site ele pertence
- Espere o DNS se propagar e depois ative o HTTPS
- Escolha uma versão (com ou sem
www) e redirecione a outra - Troque todo
localhoste IP no seu código e atualize os painéis de login e de pagamento - Impeça o site de responder pelo IP puro do servidor
Um domínio é o que transforma «funciona no meu computador» em «qualquer pessoa pode visitar». Configure-o uma vez, do jeito certo, e todos os links que você compartilhar continuarão funcionando, mesmo que você mude de hospedagem depois.
