it-swarm.com.de

So greifen Sie über ein lokales Netzwerk auf eine Website zu, die von localhost in einen Domänennamen geändert wird

Ich habe ein Problem beim Zugriff auf die Website, die ich auf einem XAMPP-Server erstellt habe, von einem anderen Gerät im Netzwerk.

Ich habe die HOSTS-Datei bereits geändert:

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost

127.0.0.1 example.com

und der C:\xampp\Apache\conf\extra\httpd-vhosts.conf

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot "C:\xampp\htdocs\Example"
</VirtualHost>

Ich kann auf den Domainnamen zugreifen, den ich in meinem Browser erstellt habe, aber wenn ich von einem anderen Gerät aus danach suche, wird so etwas wie ein DNS-Server-Fehler angezeigt. Gibt es eine andere Möglichkeit, auf die Website zuzugreifen, ohne die HOSTS-Datei des Geräts ändern zu müssen?

1
Angelica

Beachten Sie, dass 127.0.0.1 etwas Besonderes ist. Es bezieht sich immer auf den "localhost", dh. den Computer/das Gerät, von dem aus Sie gerade die Anfrage stellen. Sie müssen die private IP-Adresse des Computers in Ihrem LAN verwenden.

@dan berührte die erforderliche Methode in Kommentaren:

Sie müssen einen A-Eintrag in der DNS-Tabelle Ihrer Domain erstellen und diesen auf die öffentliche IP-Adresse Ihres Routers verweisen. Anschließend müssen Sie den Port 80 an die private IP-Adresse (z. B. 192.168.0.2) Ihres lokalen Computers weiterleiten, auf dem Apache ausgeführt wird. Sie müssen auch alle Firewall-Regeln für Port 80 auf diesem Computer deaktivieren. Einfacher als alles oben Genannte ist es jedoch, die private IP-Adresse als URL in Ihren anderen Geräten zu verwenden. Sie müssen jedoch die Firewall für den Computer, auf dem Apache ausgeführt wird, deaktivieren.

Wenn Sie jedoch nur von anderen Geräten im selben LAN auf Ihre Site zugreifen können müssen, können Sie einfach den Eintrag publicA im DNS auf private) setzen IP-Adresse (z. B. 192.168.0.2) Ihres lokalen Computers, auf dem Ihr Webserver ausgeführt wird. Da es sich nur um Geräte handelt, die sich bereits in Ihrem LAN befinden, müssen Sie wahrscheinlich keine Firewall-Einstellungen aktualisieren (abhängig von der Größe und Komplexität Ihres LAN). Nur Geräte im LAN können auf die interne/private IP-Adresse zugreifen .

(Wenn Sie die private IP-Adresse direkt verwenden - wie dan vorschlägt - können Sie jeweils nur eine Entwicklungssite auf Ihrem Server aktivieren.)

Es ist einfacher, dies als Unterdomäne Ihrer Hauptdomäne zu implementieren, als die gesamte Domäne zu übernehmen. Dies würde dann ermöglichen, dass Ihr lokaler Entwicklungsserver (nur von Ihrem LAN) zur gleichen Zeit wie die öffentlich zugängliche Website verfügbar ist. z.B. Ihre öffentliche Hauptwebsite finden Sie unter www.example.com und Ihr lokaler Entwicklungsserver unter local.example.com (der einfach als A Eintrag für die private IP-Adresse Ihres Webservers in Ihrem LAN konfiguriert wird) ).

Wenn Sie auf Ihrem Entwicklungsserver namensbasierte virtuelle Hosts verwenden, definieren Sie die nterdomäne als ServerName:

<VirtualHost *:80>
    ServerName local.example.com
    DocumentRoot "C:\xampp\htdocs\Example"
</VirtualHost>

Mit dieser Methode können alle Geräte in Ihrem LAN auf Ihre Site zugreifen, ohne dass Sie einzelne HOSTS-Dateien auf diesen Geräten bearbeiten (oder DNS überschreiben) müssen. Beachten Sie, dass Sie auf einigen Mobilgeräten die Option "Data Saver" deaktivieren müssen, da die Website hierfür öffentlich sein muss (die Server "Data Saver" können die erforderlichen Anforderungen einfach nicht erfüllen).

0
DocRoot