Por que minha rede local não pode acessar o site da Internet hospedado por um servidor nessa rede?

2

Um servidor na minha rede local está executando o Apache2 que hospeda um site acessível a partir da Internet. Eu posso acessar esse site de fora da rede, mas não de dentro dele.

Ou seja, não consigo acessar o site quando minha conexão com a Internet é fornecida pelo mesmo roteador que fornece acesso à Internet para o servidor da Web.

Eu entendo que isso acontece porque o roteador não permite duas conexões na porta 80 ao mesmo tempo, mas posso estar errado. Alguma idéia?

    
por fluffels 09.02.2010 / 10:59

2 respostas

3

O problema é que o seu roteador (uma casa ou o SoHo que eu presumo) não irá portar para frente na interface interna.

O que está acontecendo segue as seguintes linhas:

  1. O PC na sua LAN faz uma pesquisa de DNS para o seu site e obtém o endereço IP público do seu Roteador
  2. O navegador da Web envia suas solicitações na porta 80 para seu endereço IP público
  3. Seu roteador obtém a solicitação em sua interface interna e, como não tem nenhum recurso de encaminhamento de porta nessa interface, envia-a para seu próprio site ou simplesmente a descarta, em vez de encaminhá-la para seu servidor da Web.

Para contornar isso, você terá que usar o endereço IP local do seu servidor web - você deve colocar isso em seus Hosts arquivo para que você ainda possa acessá-lo usando seu URL em vez do endereço IP para permitir que os hosts virtuais funcionem.

Por exemplo, adicione a linha www.mygreatwebsite.com 192.168.1.10 para o seu arquivo hosts (naturalmente inserir os seus dados reais) e usar www.mygre ... em vez do endereço IP de modo que quando pedido HTTP de seu navegador atinge Apache ele recebe o URL de modo virtual hosts podem funcionar.

    
por 09.02.2010 / 11:44
1

Parece que o servidor web apache não está listando conexões em seu endereço IP interno.

Se você tiver uma olhada no seu httpd.conf, deve haver uma linha chamada listen com um endereço IP e uma porta. Se você quiser ouvir mais, basta criar uma nova linha e digitar algo como

Listen 192.170.2.5:8000 

Você também tem um firewall instalado que possa estar causando o problema?

    
por 09.02.2010 / 11:33