Um site deve ser acessado diretamente pelo seu endereço IP?

34

Descobri que muitos sites exibem o conteúdo do site apenas quando você os acessa pelo FQDN (exemplo example.com). Ao tentar acessar pelo endereço IP, eles mostram um erro 404 não encontrado no site.

Existem boas razões pelas quais os proprietários de sites não desejam que seus sites sejam diretamente acessíveis por endereço IP em vez de passar pelo DNS?

Quais são os prós e os contras de disponibilizar o acesso direto ao IP para o seu site?

Pergunta Overflow
fonte

Respostas:

32

Observe que o site alcançado através de um nome de domínio pode não estar hospedado diretamente na raiz do endereço IP, ou seja, example.orgpode ser mapeado para 123.45.67.89/~example. Isso é comum para hosts da Web normais, pois eles não podem alocar um endereço IP por site - isso seria incrivelmente inútil.

Por exemplo, se você fizer uma pesquisa DNS de webmasters.stackexchange.com, você poderá obter o endereço IP 198.252.206.140(no lado da mão direita sobre o site que eu ligado a). Embora o endereço IP vá para uma página StackExchange, ele não leva à seção webmasters, que pode ser algo parecido 198.252.206.140/www/webmasters.

Um truque ao usar um endereço IP (ou algo parecido 123.45.67.89/~example) é a necessidade de um endereço IP estático. Se, por algum motivo, o endereço IP precisar mudar, você não poderá redirecionar usuários. Enquanto que com um nome de domínio, basta atualizar os registros DNS para apontar para o novo endereço IP.

Embora não esteja completamente relacionado, outro golpe óbvio de endereços IP é que eles são muito mais difíceis de lembrar do que um nome e um final.

Por padrão, um site estará disponível por meio do nome do domínio e do endereço IP. Respostas / comentários diferentes para esta pergunta oferecem perspectivas diferentes, e eu não quero copiar isso.

Pessoalmente, eu não bloquearia o acesso por endereço IP, simplesmente porque não é assim que se espera que a Internet funcione. Além disso, um usuário comum nunca encontrará aleatoriamente o endereço IP do seu site e ele definitivamente não começará a compartilhar links para o seu site com o endereço IP. Portanto, qualquer esforço de SEO e segurança certamente é melhor gasto em outros lugares.

ljacqu
fonte
6
Não acho que seus dois últimos parágrafos respondam à pergunta. No meu entendimento da questão, o OP não está perguntando se é bom oferecer um site apenas por meio de um endereço IP em vez de um nome de domínio, mas se há algum motivo para impedir intencionalmente os usuários de acessar o site por meio do endereço IP .
OR Mapper
2
Uma pequena correção: por si só, uma pesquisa whois mostra apenas o status do registro e as informações de contato de um nome de domínio. O endereço IP é determinado por uma pesquisa de registro DNS. Who.is é um serviço que apenas mostra os dois ao procurar um nome de domínio. Além disso, você encontrará apenas informações de quem é stackexchange.com, e não webmasters.stackexchange.com. gwhois.org/webmasters.stackexchange.com+dns
iglvzx
@ORMapper e iglvzx : Muito obrigado a ambos! Atualizei minha resposta para corrigir suas observações, tentando copiar o mínimo possível das outras respostas, que eram muito interessantes de ler.
ljacqu
11
youtube também - se você faz ping no youtube e obtém o endereço IP 173.194.41.161, acaba acessando a página inicial do Google.
Wilf
11
Outro problema poderia ser o SSL se você aplicá-lo (o que você realmente deveria).
Léo Lam
9

A versão original do HTTP não incluía nenhum mecanismo para o cliente especificar o nome do host como parte da solicitação. Ele se conectou ao servidor e enviou apenas a parte do caminho da URL. Uma das primeiras modificações no protocolo HTTP foi adicionar a capacidade de o cliente enviar outras informações de "cabeçalho", incluindo o nome do host.

Há 20 anos, o suporte ao navegador para hosts virtuais era muito irregular. Naquela época, haveria um motivo válido para veicular o conteúdo apenas do endereço IP também. Uma pequena porcentagem de clientes não teria enviado o cabeçalho do host. O nome do host agora é um cabeçalho padrão enviado por todos os navegadores e rastreadores da web.

Na verdade, acho que as solicitações de procura de conteúdo em um endereço IP provavelmente não serão atendidas se meu servidor responder ao meu site. Costumo ver apenas solicitações de IP que são:

  • Para um site que costumava estar naquele endereço IP
  • Tentativas de acesso por malware

Agora, prefiro exibir um erro 404 apenas para solicitações de endereço IP, em vez de veicular meu site ou redirecioná-lo para ele. Meus servidores também estão configurados para servir 404 páginas em nomes de host não reconhecidos, conforme explicado na resposta a Como lidar com redirecionamentos de domínio malicioso?

Stephen Ostermiller
fonte
Ocasionalmente, tento acessar sites pelo endereço IP; sempre que suspeito que algo suspeito esteja acontecendo com o meu DNS. Nessas situações, tento descobrir o endereço IP do site e abrir o site por meio dele. Se o site que eu esperaria do nome de domínio normal carregar muito bem apenas pelo IP, sei que tenho que corrigir algo no meu DNS, mas se receber uma mensagem de erro, sempre assumirei que algo está quebrado no servidor do site e Eu só tenho que esperar até que seja consertado.
OR Mapper
Hoje em dia, muitos sites usam hospedagem compartilhada que não é prático esperar acessá-los sem um nome de host. Este site StackExchange não está disponível apenas com o endereço IP. Existem muitos sites de subdomínio StackExchange que o compartilham. StackExchange mostra uma página 404 personalizada se você a experimentar apenas com o endereço IP.
Stephen Ostermiller
7

Especialmente se você tiver uma hospedagem compartilhada ou um servidor de sua preferência, hospedando vários domínios, não poderá acessar o "site" via IP. Para o seu próprio servidor, você pode definir um domínio primário que é alcançado se você digitar o IP. Para hosts compartilhados, isso é impossível.

Como mencionado por @Ijacqu, o IP pode mudar facilmente.

Outra coisa é o conteúdo duplicado; portanto, basicamente não é uma boa prática fazê-lo.

Se você deseja que um site seja acessado por meio do IP do servidor, você deve adicionar 301 ou 302 ao próprio domínio.

Para um servidor que administrei, adicionei um pequeno site HTML, apenas ecoando "Bem-vindo ao 123.456.789.123" como site padrão, pois vários projetos de clientes estavam hospedados nessa máquina e eu só precisava de uma solução de etiqueta branca para o site padrão. Eu configurei isso usando apache vhosts.

Christoph Daum
fonte
3

Da perspectiva de SEO, é um desastre.

Se você tem um site, por exemplo, stackexchange.com, e também é acessível a partir do endereço IP, isso resultará em conteúdo duplicado.

Isso destruirá seus rankings e confundirá seus usuários, que pesquisarão no Google e encontrarão 2 resultados para o mesmo tópico (um acessível pelo nome do domínio e outro pelo endereço IP)

Nunca torne um domínio acessível a partir do endereço IP.

Se você tem um domínio hospedado em um único servidor, a melhor abordagem é 301 redirectdirecionar o acesso ao endereço IP para esse domínio.

Se você tiver mais de um domínio em um servidor, desative o acesso direto ao endereço IP.

crokola
fonte
4
Eu estive nisso desde ARPA-NET. Esta afirmação simplesmente não é verdadeira. No começo, não havia hospedagem virtual e todos os sites eram acessíveis por meio do nome de domínio e endereço IP. Isso ainda é extremamente comum hoje em dia. Os mecanismos de pesquisa são inteligentes o suficiente para saber quais nomes de domínio são servidos por quais endereços IP e NÃO contam isso como conteúdo duplicado, mas no mesmo site.
closetnoc
Por site foi destruído, após uma atualização do nginx que eu não consertava o servidor padrão. Demorou 6 meses para 301 todos os 10.000.000 links rastreados no acesso direto ao endereço IP :(
krokola
E se você acha que não há problemas de SEO (mas eu discordo totalmente de você), há um grande problema com os hits. Os robôs farão hits duplos para rastrear o mesmo conteúdo. Se o seu site receber 2.000.000 de acessos por dia e você permitir acesso direto ao endereço IP, os bots farão 4.000.000 totalmente sem benefícios para você.
krokola
11
Para SEO, é possível adicionar a <link rel="canonical" href="http://example.com" />para evitar conteúdo duplicado.
Pergunta Overflow
2
Esta resposta definitivamente não é verdadeira. Muitos sites estão acessíveis em seus endereços IP, não causam dores de cabeça nos mecanismos de pesquisa, não matam seu "SEO". O conteúdo duplicado é um problema técnico que existe desde o início da Web. Os mecanismos de pesquisa têm várias maneiras de lidar com isso. Não é o fim do mundo. Dito isto, se você prefere a indexação, adicionar um rel = canonical é uma ótima maneira de orientar os mecanismos de pesquisa nessa direção.
John Mueller
2

Apenas meus 2 centavos, tenho alguns sites no meu servidor (cerca de 8) e todos eles têm exatamente o mesmo endereço IP. Com o uso de cabeçalhos de host, o FQDN ajuda o servidor da web (no meu caso, o Apache) a direcionar a solicitação para o diretório correto do site em questão. O endereço IP é direcionado para o site da minha empresa por padrão. Descobri desde 2001 que essa é a norma para a maioria dos provedores de hospedagem na web, principalmente considerando o estado atual dos endereços IPv4. Apenas com experiência, trabalhei na Voyager.net (em Michigan) por cerca de 8 anos e a Voyager era uma empresa de hospedagem e ISP que hospedava mais de 80.000 domínios e não sei quantos sites hospedamos. Em uma nota lateral, o FQDN é, por definição, usado para fornecer endereços legíveis para humanos ao endereço IP, para que possamos lembrá-los mais facilmente. Novamente apenas meus 2 centavos.

Tad
fonte
1

Do ponto de vista da segurança, é uma jogada inteligente.

A maioria dos sites com tráfego intenso terá uma CDN usada em algum lugar. Portanto, qualquer tentativa de ataque do DOS ou DDOS simplesmente se dissipa pelos servidores da CDN e não chega ao site do usuário.

No entanto, se um usuário estiver ciente do endereço IP do site, ele poderá disparar um ataque diretamente no IP e derrubar o servidor rapidamente. É por isso que a maioria das CDNs oferece opções para ocultar os endereços IP do seu servidor. Portanto, dar um 404 a alguém que está tentando acessar o site é uma boa jogada. Ele pode ser feito com um arquivo .htaccess ou hospedando o site em um local diferente da raiz padrão do documento do servidor.

Rana Prathap
fonte
-1

O que todo mundo esquece sobre hospedagem IP compartilhada é que são como 1000 carros com o mesmo número de licença. Se uma pessoa estiver fazendo algo malicioso, esse tráfego será exibido no servidor de destino a partir de um IP. Ele fica bloqueado e todos os outros o usam. Qualquer site de seu interesse deve ter seu próprio IP. Qualquer email que você enviar deve vir do seu IP e não um endereço compartilhado. Eu me contento com nada menos e estou nisso desde 1994.

Larry
fonte
Isso não responde à pergunta. A questão era se o site deveria ou não ser acessível pelo endereço IP, não se um site deveria estar em hospedagem compartilhada. Mesmo se você tiver seu próprio endereço IP, poderá ou não querer disponibilizar seu site digitando o endereço IP. Você também pode hospedar vários sites próprios nesse único endereço IP.
Stephen Ostermiller