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

0

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

pingwisdom.host22.comPINGwisdom.host22.com(31.170.160.189)56(84)bytesofdata.64bytesfrom31.170.160.189:icmp_seq=1ttl=46time=307ms

OendereçoIPdodomínioé31.170.160.189doresultadodoping.

Nãopodeservisitadoparainserir31.170.160.189/wpnofirefox,porquê?Quandoinserir31.170.160.189/wpnofirefox,oURLentraráhttp://error404.000webhost.com/,why?

    
por it_is_a_literature 11.10.2015 / 10:19

2 respostas

2

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

Existe um servidor web a ouvir IP 31.170.160.189 e a servir o seu e todas as outras páginas.

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

Quando ele é consultado por um nome de host apropriado, como wisdom.host22.com , ele sabe o que fazer, porque o nome do host faz parte da solicitação HTTP que o navegador faz. Para servir conteúdo, dependendo do cabeçalho da solicitação, é uma técnica comum normalmente chamada de "Host Virtual". Desta forma, o servidor 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 /wp do servidor da 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 página 404 .

Agora faça o mesmo, mas com Host definido corretamente para 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 estar em conformidade (código de status 200 OK ) e atende à sua página inicial do WordPress.

O comando netcat abre uma conexão com o servidor na porta 80. Em seguida, a solicitação (a parte echo ) é enviada ao servidor. HTTP é um protocolo de texto simples. Você pode apenas "conversar" com o servidor.

    
por Nephente 11.10.2015 / 11:12
0

Quando você envia uma solicitação HTTP para um servidor, há uma linha de host incluída, quando o apache recebe, envia para qualquer host virtual definido para esse endereço, conforme explicado aqui:

link

Portanto, se no servidor que você criou, há um host virtual para wisdom.host22.com, digitar o nome do host levará você lá, mas digitar o ip levará você ao host virtual padrão, que nesse caso, parece não definido.

Espero que isso tenha ajudado.

    
por Yzhang 11.10.2015 / 11:12