apache (xampp) não acessível pela intranet

0

Ok, então eu tenho um aplicativo da web que quero testar em vários dispositivos diferentes. Para fazer isso facilmente, preciso expor o aplicativo à extranet para que eu possa acessá-lo de qualquer lugar.

O IP da intranet da minha máquina é 192.168.1.66, é atribuído manualmente por mim a partir do roteador.
Uma DMZ está configurada, portanto 192.168.1.66 deve ser completamente exposto à extranet.

No entanto, o Apache nem responde pela intranet.
Acessar http: // localhost / app mostra-me a instalação do XAMPP, mas http://192.168.1.66/app não.

O ambiente é uma instalação XAMPP completamente padrão no Windows. Não mudei nada, apenas adicionei o aplicativo da web à docroot.
Httpd.conf possui o padrão 'Listen 80', portanto, isso não deve ser um problema.
Tentei desativar completamente o firewall do Windows sem sucesso.

Eu também não tenho idéia se isso é normal, mas 'netstat -a' me mostra várias entradas para a porta 80, como tal:

TCP    [::]:80                DESKTOP-DVN0SQB:0      LISTENING  
TCP    192.168.1.66:80        DESKTOP-DVN0SQB:0      LISTENING  
TCP    0.0.0.0:80             DESKTOP-DVN0SQB:0      LISTENING 

O Netstat também me mostra um endereço IP que não reconheço, 192.168.56.1. O que me deixa perplexo é que tentei acessá-lo e, curiosamente, meu aplicativo pode ser encontrado em http://192.168.56.1/app . Mas este parece ser um endereço local porque não consigo acessá-lo em nenhum dispositivo da intranet.

O que da? O que é esse endereço 192.168.56.1? Lembro-me de ter visto um endereço semelhante quando estava tocando com o Vagrant, há alguns dias, poderia estar relacionado? Não tenho mais VMs do Vagrant, destruí todas (caso isso possa estar relacionado).

E o mais importante: por que não consigo acessar o Apache pela intranet? Porque definitivamente está me impedindo de acessá-lo pela extranet.

xIcarus
fonte

Respostas:

1

[Por que não consigo acessar o Apache pela intranet?

Como o Apache aparentemente está vinculado a um adaptador de rede que não faz parte da intranet que você está tentando acessar.

Para ficar claro, 192.168.1.xe 192.168.56.x são redes separadas nesse caso (assumindo uma máscara de sub-rede de classe C padrão 255.255.255.0).

O endereço que o Apache está usando (192.168.56.1) provavelmente é um IP padrão para um adaptador de rede virtual, usado para máquinas virtuais. O Apache parece ter selecionado esse adaptador / IP em resposta a uma Listen 80diretiva genérica (como você mencionou).

Lembro-me de ter visto um endereço semelhante quando estava tocando com o Vagrant, há alguns dias, poderia estar relacionado?

Isso pode estar relacionado. Se o Vagrant instalou quaisquer adaptadores de rede virtual, a menos que você os tenha removido especificamente, é provável que eles ainda estejam ativos no seu sistema.

Se você definitivamente não estiver usando esse adaptador de rede virtual, convém removê-lo totalmente.

Em qualquer caso, você pode vincular o Apache (conforme necessário) a um IP especificado no httpd.conf com uma diretiva Listen mais específica, por exemplo

Listen 192.168.1.66:80

Observe que, como você fez comentários sobre o Vagrant, suponho que seu servidor / aplicativo não esteja sendo executado em uma VM. Se estiver (talvez diga que você está executando o VirtualBox), seria necessário ajustar as configurações da VM para torná-la acessível à intranet.

Anaksunaman
fonte
11
Obrigado pela explicação, Ouça 192.168.1.66:80 funcionou. Ah, eu tinha a sensação de que o VirtualBox / Vagrant tinha algo a ver com isso.
xIcarus
Além disso, não, eu não estava executando o aplicativo em uma VM. Eu havia usado a VM anteriormente para outros aplicativos.
xIcarus
Não há de quê. Fico feliz que você tenha tudo funcionando corretamente. =)
Anaksunaman 9/09/17
0

Como você disse, http: // localhost / app é reconhecido na intranet. O problema está relacionado ao IPv4 no qual o aplicativo está sendo executado no momento, portanto, tente verificar isso. Não sei qual aplicativo você está usando, mas deve haver um arquivo config.php no qual você pode definir o domínio confiável que pode ser acessado.

Além disso, duvido que um IPv4 tão comum (192.168.1.66) possa ser acessado de qualquer lugar: não conheço toda a sua configuração de rede, mas deveria ter um IP dinâmico atribuído globalmente e o endereço citado é apenas local.

Lorenzo
fonte