por que meu blog não pode ser visitado com endereço IP?

por que meu blog não pode ser visitado com endereço IP?

Eu construo o wordpress em wise.host22.com/wp, ele pode ser visitado wisdom.host22.com/wpno firefox.

insira a descrição da imagem aqui

ping wisdom.host22.com
PING wisdom.host22.com (31.170.160.189) 56(84) bytes of data.
64 bytes from 31.170.160.189: icmp_seq=1 ttl=46 time=307 ms

O endereço IP do domínio é 31.170.160.189 do resultado do ping.

Não pode ser visitado para inserir 31.170.160.189/wp no Firefox, por quê? Quando inserir 31.170.160.189/wpno firefox, o URL irá pular para http://error404.000webhost.com/,why?

insira a descrição da imagem aqui

Responder1

Seu aplicativo WordPress é provavelmente um entre muitos sites hospedados em host22.com.

Existe um servidor web escutando IP 31.170.160.189e servindo a sua e todas as outras páginas.

Se o servidor for consultado diretamente pelo seu IP, como ele saberá qual site servir? O IP não pertence exclusivamente ao seu subdomínio. Como resultado, você está sendo redirecionado para uma 404 NOT FOUNDpágina.

Quando é consultado por um nome de host adequado, como wisdom.host22.com, ele sabe o que fazer, porque o nome do host faz parte da solicitação HTTP que o navegador faz. Servir conteúdo dependendo do cabeçalho da solicitação é uma técnica comum geralmente chamada de "Host Virtual". Desta forma, o servidor web pode fornecer muitos sites diferentes a partir do mesmo endereço IP.

Você pode experimentar a diferença de comportamento na linha de comando

Primeiro, vamos solicitar o recurso /wpdo servidor web e enviar seu endereço IP como Host:

$ echo -e "GET /wp/ HTTP/1.1\nHost: 31.170.160.189\n" | netcat 31.170.160.189 80
HTTP/1.1 302 Found
Date: Sun, 11 Oct 2015 09:05:30 GMT
Server: Apache
Location: http://error404.000webhost.com/?
Content-Length: 216
Connection: close
Content-Type: text/html; charset=iso-8859-1

Como esperado, o servidor responde servindo uma 404página.

Agora faça o mesmo, mas Hostconfigurado corretamente para o seu subdomínio

$ echo -e "GET /wp/ HTTP/1.1\nHost: wisdom.host22.com\n" | netcat 31.170.160.189 80
HTTP/1.1 200 OK
Date: Sun, 11 Oct 2015 09:08:50 GMT
Server: Apache
X-Powered-By: PHP/5.2.17
X-Pingback: http://wisdom.host22.com/wp/xmlrpc.php
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8

Desta vez, o servidor pode cumprir (código de status 200 OK) e veicular sua página inicial do WordPress.

O netcatcomando abre uma conexão com o servidor na porta 80. Em seguida, a solicitação (a echoparte) é enviada ao servidor. HTTP é um protocolo de texto simples. Você pode simplesmente "falar" com o servidor.

Responder2

Quando você envia uma solicitação HTTP para um servidor, há uma linha de host incluída nele; quando o Apache recebe isso, ele a envia para qualquer host virtual que tenha sido definido para esse endereço, conforme explicado aqui:

https://serversforhackers.com/configurando-apache-virtual-hosts

Portanto, se no servidor que você criou houver um host virtual para sabedoria.host22.com, digitar o nome do host o levará até lá, mas digitar o ip o levará ao host virtual padrão, que neste caso parece não estar definido.

Espero que isso tenha ajudado.

informação relacionada