
In unserem lokalen Netzwerk haben wir einen Ubuntu Server 20.4
, auf dem eine Webanwendung gehostet wird. Ich habe meinen Router und den DNS der Domäne konfiguriert, Lets'Encrypt
das Zertifikat installiert und es ist mir gelungen, https://mydomain.com
meine Webanwendung anzuzeigen.
Mein Problem besteht darin, dass der Browser beim Versuch, die Domäne https://mydomain.com
innerhalb des lokalen Netzwerks anzuzeigen, die Antwort „Diese Site kann nicht erreicht werden“ erhält. Wenn ich jedoch von außerhalb verbunden bin, ist die Site sichtbar.
Muss ich eine neue Einstellung im Ubuntu-Server vornehmen oder ist das eine Frage der Router-Konfiguration?
Eine Lösung...
Ich habe hosts
die Datei auf meinem PC (C:\Windows\System32\Drivers\etc\hosts) bearbeitet und einen Datensatz hinzugefügt
192.168.0.100 meinedomain.com
und die Site ist jetzt sichtbar, aber ich möchte wissen, wie ich eine Einstellung auf dem Ubuntu-Server anwenden kann.
Bearbeiten 1
Wenn ich es nslookup mydomain.com
über die Windows-Befehlszeile ausführe, erhalte ich:
Server: one.one.one.one
Address: 1.1.1.1
Non-authoritative answer:
Name: mydomain.con
Address: My_External_IP
Beide Ubuntu Server
und mein PC befinden sich im selben Subnetz. Ich habe dem Router einige Portweiterleitungen (80, 443) hinzugefügt, um den Server öffentlich zu machen.
Antwort1
Das "Problem" besteht darin, dass Ihr Windows-Rechner (und andere Rechner in Ihrem Netzwerk) den Domänennamen in einenöffentliche IP-Adresse, was nicht mit 192.168.0.100 übereinstimmt... Daher ist das Routing anders. Wenn Sie versuchen, auf 192.168.0.100 zuzugreifen, bleibt der Datenverkehr innerhalb Ihres LAN. Wenn Sie eine öffentliche IP-Adresse verwenden, wird Ihr Datenverkehr über das Internet übertragen und kommt über den Router zu Ihnen zurück.
Sie sollten daher tatsächlich eine Portweiterleitung auf Ihrem Router einrichten, sodass eingehende Anfragen an die Ports 80 und 443 an die lokale Adresse des Servers weitergeleitet werden, in Ihrem Beispiel also 192.168.0.100.
Wenn Sie in Ihrem LAN einen eigenen DNS-Resolver hätten, könnten Sie diese Domäne (die „Zone“) einfach lokal so konfigurieren, dass stattdessen eine private IP-Adresse zurückgegeben wird, nur für lokale Benutzer. Siehe Split-Horizon-DNS.
Das Bearbeiten der Hosts-Datei kann für Tests und kurzfristige Nutzung akzeptabel sein, wenn Sie nicht viele Clients zu verwalten haben. Andernfalls würde ich vorschlagen, einen lokalen DNS-Resolver (und -Forwarder) für Ihr LAN einzurichten. Beispiel: dnsmasq.