Apache (Xampp) nicht über das Intranet erreichbar

910
xIcarus

Okay, ich habe eine Web-App, die ich auf einer Reihe verschiedener Geräte testen möchte. Um dies einfach zu machen, muss ich die Anwendung für das Extranet freigeben, damit ich von überall darauf zugreifen kann.

Die Intranet-IP-Adresse meines Computers lautet 192.168.1.66 und wird von mir manuell vom Router zugewiesen.
Eine DMZ ist eingerichtet, daher sollte 192.168.1.66 vollständig dem Extranet ausgesetzt sein.

Apache antwortet jedoch nicht einmal aus dem Intranet.
Beim Zugriff auf http: // localhost / app wird die XAMPP-Installation angezeigt, nicht aber http://192.168.1.66/app .

Die Umgebung ist eine komplett standardisierte XAMPP-Installation unter Windows. Ich habe nichts geändert, ich habe nur die Web-App zur docroot hinzugefügt.
Httpd.conf hat die Standardeinstellung 'Listen 80', daher sollte dies kein Problem sein.
Ich habe versucht, meine Windows-Firewall vollständig ohne Erfolg zu deaktivieren.

Ich habe auch keine Ahnung, ob dies normal ist, aber bei 'netstat -a' werden mehrere Einträge für Port 80 angezeigt:

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  

Netstat zeigt mir auch eine IP-Adresse an, die ich nicht erkenne, 192.168.56.1. Was mich verblüfft, ist, dass ich versucht habe, darauf zuzugreifen, und meine App ist unter http://192.168.56.1/app zu finden . Dies scheint jedoch eine lokale Adresse zu sein, da ich von keinem Gerät im Intranet aus darauf zugreifen kann.

Was gibt? Wie lautet diese 192.168.56.1-Adresse? Ich erinnere mich, dass ich eine ähnliche Adresse gesehen habe, als ich vor ein paar Tagen mit Vagrant gespielt habe. Ich habe keine Vagrant-VMs mehr, ich habe sie alle zerstört (falls sie damit zusammenhängen könnten).

Und vor allem: Warum kann ich nicht über das Intranet auf Apache zugreifen? Denn es hindert mich definitiv daran, auf das Extranet zuzugreifen.

0

2 Antworten auf die Frage

1
Anaksunaman

[W]hy can't I access Apache from the intranet?

Because Apache is apparently bound to a network adapter that is not part of the intranet you are trying to access.

To be clear, 192.168.1.x and 192.168.56.x are separate networks in this case (assuming a standard class C subnet mask of 255.255.255.0).

The address Apache is using (192.168.56.1) is most likely a default IP for a virtual network adapter, used for virtual machines. Apache seems to have selected this adapter/IP in response to a generic Listen 80 directive (as you mentioned).

I remember seeing a similar address when I was playing with Vagrant a few days ago, could it be related?

This could be related. If Vagrant installed any virtual network adapters, unless you specifically removed those adapters, they are most likely are still active on your system.

If you are definitely not using that virtual network adapter, you may wish to remove it entirely.

In any case, you can bind Apache (as necessary) to a specified IP in httpd.conf with a more specific Listen directive e.g.

Listen 192.168.1.66:80 

Please note, since you made comments about Vagrant, I am assuming your server/app isn't running in a VM. If it is (perhaps say you are running VirtualBox instead), you'd need to adjust settings for the VM to make it accessible to the intranet.

Danke für die Erklärung, Listen 192.168.1.66:80 hat funktioniert. Ha, ich hatte das Gefühl, dass VirtualBox / Vagrant damit zu tun hatte. xIcarus vor 7 Jahren 1
Nein, ich habe die App nicht in einer VM ausgeführt. Ich hatte die VM vorher für andere Apps verwendet. xIcarus vor 7 Jahren 0
Herzlich Willkommen Ich bin froh, dass alles richtig funktioniert hat. =) Anaksunaman vor 7 Jahren 0
0
Lorenzo

Wie gesagt, http: // localhost / app wird im Intranet erkannt. Das Problem bezieht sich auf das IPv4, auf dem die App derzeit ausgeführt wird. Versuchen Sie dies zu überprüfen. Ich weiß nicht, welche App Sie verwenden, aber es sollte eine config.php-Datei geben, in der Sie die vertrauenswürdige Domäne festlegen können, auf die zugegriffen werden kann.

Außerdem bezweifle ich, dass auf ein solches gemeinsames IPv4 (192.168.1.66) von überall aus zugegriffen werden kann: Ich kenne Ihre gesamte Netzwerkkonfiguration nicht, sollte aber eine dynamische IP-Adresse haben, die global zugewiesen ist, und die angegebene Adresse ist nur lokal.