Ich möchte auf meine lokalen Entwicklungswebsites zugreifen, die auf einem anderen lokalen Computer in meinem Heimnetzwerk gehostet werden.
Ich habe versucht,http://192.168.1.nnund http://localhost im Browser und keines von beiden wird gefunden (mein Servercomputer hat eine statische IP-Adresse von 192.168.1.nn).
Wenn ich auf dem Computer nn arbeite, habe ich keine Probleme beim Zugriff auf den lokalen Host und seine Websites.
Ich habe versucht, in den Windows-Einstellungen nicht authentifizierten Zugriff auf den Computer nn zuzulassen (in der Defender-Firewall und auch in Malwarebytes > Einstellungen > Zulassungsliste > Hinzufügen > 192.168.1.nn). Ich habe versucht, mithilfe einer Portweiterleitungsregel im Router Port mm an Computer nn weiterzuleiten (und die Adresse http://localhost:mm oderhttp://192.168.1.nn:mm). Ich habe versucht, diese Zeile zur Hosts-Datei hinzuzufügen:
192.168.1.nn lokaler Host
Ich weiß nicht viel über die internen Vorgänge beim Netzwerken. Ich möchte eine LAN-LAN-Webverbindung von einem meiner Computer zu einem anderen herstellen.ohne der Außenwelt (WAN) Zugriff auf irgendetwas zu gewährenin meinem Netzwerk. Ich hoffe, Hilfe mit Antworten zu bekommen, die getestet wurden, sodass sie ohne zu viele Fragen und Antworten funktionieren.
Antwort1
Da Sie aus Sicherheitsgründen offenbar nicht bereit sind, weitere Informationen preiszugeben, finden Sie hier einige allgemeine Überlegungen und Kommentare dazu, was Sie zur Lösung dieses Problems beachten sollten:
Anwendungen von Drittherstellern
Deaktivieren Sie während des Tests alle Firewalls und Virenscanner. Anwendungen oder Hardware von Drittanbietern können die Kommunikation zwischen den beiden Computern beeinträchtigen, unabhängig von den von Ihnen festgelegten Regeln.
Wenn Sie für Ihren Server eine virtuelle Maschine verwenden, müssen Sie möglicherweise zusätzliche Konfigurationen an der virtuellen Maschine selbst (zusätzlich zu allen Elementen auf dem Host) vornehmen, um den Zugriff darauf zu ermöglichen.
Virtuelle Maschinensoftware verfügt möglicherweise über die Option für virtuelle „Host-Only“-Netzwerkadapter, die nie als Teil des lokalen Netzwerks betrachtet werden. Stellen Sie sicher, dass Sie keinen Fernzugriff über eine IP versuchen, die einem „Host-Only“-Netzwerkadapter zugewiesen ist (falls vorhanden).
Für den Zugriff auf virtuelle Maschinen ist möglicherweise eine Portweiterleitung (über die Software der virtuellen Maschine) erforderlich, vorausgesetzt, sie verwenden keinen überbrückten Adapter.
Wenn Sie WSL verwenden, müssen Sie es möglicherweise speziell oder Windows allgemein aktualisieren.
Lokale Vernetzung
Stellen Sie sicher, dass sich die Computer im selben lokalen Netzwerk befinden. Überprüfen Sie die Netzwerkmaske aller Router. Normalerweise sollten sie gleich sein. Überprüfen Sie außerdem, dass alle DHCP-Server im Netzwerk (wahrscheinlich wieder auf Ihrem Router usw.) die gleichen lokalen Adressbereiche an alle Geräte verteilen, die Sie verbinden möchten.
Angenommen
255.255.255.0
, Ihr Server hat die Adresse „ex.“,http://192.168.1.nn
und der Computer, mit dem Sie auf den Server zugreifen, hat die Adresse „ex.“http://192.168.2.nn
, dann befinden sich die beiden nicht im selben lokalen Netzwerk.Sofern Sie nicht über eine spezielle Netzwerkkonfiguration verfügen, die Sie nicht angegeben haben, sollte die Portweiterleitung in Ihrem Router für die grundlegende Kommunikation zwischen Geräten im selben Netzwerk nicht erforderlich sein.
Wenn Sie versuchen, mit einem mobilen Gerät vom lokalen Netzwerk aus auf Ihren Server zuzugreifen, stellen Sie sicher, dass Sie WLAN und nicht den Datentarif Ihres Anbieters verwenden (da dies nur zum Testen des WAN-Zugriffs nützlich wäre).
Im Allgemeinen sollten Sie nur lokale Adressen verwenden, die Ihnen von Ihrem Router zugewiesen wurden (also keine IP-Adressen, die Ihnen von Ihrem ISP zugewiesen wurden).
Generell kann die Verwendung von mehr als einem Router, die Verwendung von WLAN-Zugangspunkten oder die Verwendung „fortgeschrittener“ Netzwerkgeräte (z. B. Mesh-Netzwerkhardware) (theoretisch) zu Problemen führen.
Hostnamen
Die
hosts
Datei gilt nur für den Computer, auf dem sie vorhanden ist. Einehosts
Datei auf dem Server lässt also nicht zu, dass andere Computer im lokalen Netzwerk die angegebenen Hostnamen auflösen. Diehosts
Datei auf dem Computer, der versucht, darauf zuzugreifen, müsste geändert werden.localhost
ist kein beliebiger Name. Er verweist fast immernurauf den lokalen Computer. Das bedeutet, dass es normalerweise nicht verwendet werden kann, um auf einen Remote-Server zu verweisen (d. h. einen, der sich nicht auf demselben Computer befindet). Beachten Sie, dass dies auch auf virtuelle Maschinen zutreffen kann.Eine Änderung
localhost
isthosts
möglich, wird aber möglicherweise von Browsern ignoriert und der Browser gibt stattdessen einfach eine lokale Loopback-Adresse (ex. 127.0.0.1
) zurück, auf die aus der Ferne nicht zugegriffen werden kann.Wenn Sie Linux verwenden (z. B. Raspberry Pi oder WSL), müssen Sie neben der Bearbeitung Ihrer
hosts
Datei möglicherweise noch einige weitere Schritte zur Resolver-Konfiguration ausführen.Für grundlegende Tests möchten Sie wahrscheinlich weiterhin IP-Adressen verwenden und Hostnamen aller Art vermeiden, um Verbindungsprobleme auf die Kontaktaufnahme mit dem Server selbst und nicht mit dem spezifischen Hostnamen zu beschränken.
Wenn Sie Hostnamen verwenden möchten, ohne sie
hosts
für jedes Gerät zu ändern, müssen Sie einen lokalen DNS-Server einrichten (und Ihren Router entsprechend konfigurieren).Sie sollten
hosts
Einträge oder DNS-Einträge haben, die für alle Hostnamen, mit denen Sie auf diesen Server zugreifen möchten, auf Ihren Server verweisen.
Apache
Stellen Sie sicher, dass Apache auf dem Remote-Server ausgeführt wird.
Dies verhindert zwar nicht, dass Apache antwortet, aber wenn Apache keinen virtuellen Host für einen bestimmten Hostnamen hat, gibt es möglicherweise entweder die Standardwebseite oder eine Fehlerseite zurück.
Die Konfiguration Ihres Apache-Servers oder seiner virtuellen Hosts kann Ihnen den Zugriff von einem anderen Computer aus verweigern. Überprüfen Sie daher, dass keine Anweisungen den Zugriff auf Ihren Server einschränken. Die Einstellungen für alle
Require
Anweisungen sind ein guter Ausgangspunkt (der Wert für diese Anweisungen sollte normalerweise seinall granted
).Inkonsistenzen oder Fehler in Ihren
ServerRoot
undDocumentRoot
Einstellungen (sowie sämtlichenDocumentRoot
Verzeichniseinstellungen) inhttpd.conf
und/oder sämtlichenDocumentRoot
/Verzeichniseinstellungen in einem bestimmten virtuellen Host können zu403 Forbidden
Antworten führen.Durch die Verwendung
.htaccess
von Dateien kann der Zugriff auf den Server, abhängig von den Einstellungen in den Dateien, eingeschränkt werden.Stellen Sie sicher, dass alle
listen
Anweisungen (z. B. inhttpd.conf
) auf etwas wielisten 80
und/oderlisten 443
und nicht z. B.listen 127.0.0.1:80
oder gesetzt sindlisten 127.0.0.1:443
. Der zweite Anweisungstyp ordnet Apache so an, dass es nur auf127.0.0.1
/ hörtlocalhost
und verwirft Anfragen von allen Computern, die nicht der Server selbst sind.listen
Wenn Sie Apache auf anderen Ports als 80 oder 443 (den HTTP/HTTPS-Standardports) eingerichtet haben , müssen Sie diesen Port in die IP oder den Hostnamen einschließen (z. B.192.168.1.nn:8080
oderlocal-example:80
).Wenn Sie Änderungen an einem Apache vornehmen, muss dieser neu gestartet werden, damit die Änderungen wirksam werden.
sites-available
Unter Linux müssen Sie bei Debian-/Ubuntu-basierten Systemen möglicherweise vor dem Neustart symbolische Links von allen Dateien in Ihrem Ordner zu Ihrem Ordner erstellen,sites-enabled
damit sie verfügbar sind.