Technology

Localhost, endereço IP ou domínio? Como dar ao seu site um endereço de verdade

Seu site funciona no localhost, mas ninguém mais consegue abri-lo. Entenda a diferença entre localhost, endereço IP e domínio, e como colocar seu site em um endereço de verdade na sua hospedagem.

· 8 min de leitura

Localhost, endereço IP ou domínio? Como dar ao seu site um endereço de verdade

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.

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çoExemploQuem consegue abrir
localhosthttp://localhost:3000Apenas o computador em que ele roda
IP de rede localhttp://192.168.1.20Dispositivos no mesmo Wi-Fi ou roteador
IP de servidorhttp://203.0.113.10Qualquer pessoa online, mas veja abaixo
Nome de domíniohttps://mysite.comQualquer pessoa, em qualquer lugar
Quatro formas de acessar um site: localhost, IP de rede local, IP de servidor e nome de domínio, com quem pode abrir cada uma
O mesmo site pode ter quatro endereços diferentes. Só o nome de domínio é feito para os visitantes.

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.com precisa 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.
Diagrama mostrando um navegador perguntando ao DNS o IP de mysite.com, o DNS respondendo com o número e o navegador pedindo então a página ao servidor de hospedagem
O que acontece no instante em que alguém digita seu domínio.

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 forneceRegistro habitual
Hospedagem compartilhadaUm endereço IP de servidorRegistro A para esse IP
VPS ou servidor na nuvemUm endereço IP de servidorRegistro A para esse IP
Plataforma de sites (como Vercel, Netlify ou Render)Um nome de host para apontar e, às vezes, IPsCNAME 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 www o acompanhe.
Ilustração de registros DNS: um registro A apontando o domínio para o IP do servidor e um registro CNAME para o www
Ilustração dos dois registros de que a maioria dos sites precisa. A tela de DNS que você vê pode ser diferente.

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_URL ou BASE_URL devem usar seu domínio real, com https.
  • 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 localhost de 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 localhost pelo 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 www mas não sem ele (ou o contrário): falta um registro. Adicione o CNAME para o www.
  • 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 em https://mysite.com com um cadeado.
  • Abra a versão com www. Ela deve terminar no mesmo endereço final.
  • Pesquise no seu projeto por localhost e 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

  1. Use o localhost só para construir, nunca como seu endereço
  2. Registre um domínio e ative a renovação automática e a autenticação em dois fatores
  3. Aponte-o para a sua hospedagem com nameservers (Opção A) ou com registros A e CNAME (Opção B), não os dois
  4. Adicione o domínio nas configurações da hospedagem para que o servidor saiba a qual site ele pertence
  5. Espere o DNS se propagar e depois ative o HTTPS
  6. Escolha uma versão (com ou sem www) e redirecione a outra
  7. Troque todo localhost e IP no seu código e atualize os painéis de login e de pagamento
  8. 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.

Comments

No comments yet. Ask a question or add what we missed.