Aktualisieren Sie die Weiterleitung von IP-Adressen in nginx dynamisch
Wie der übliche Haftungsausschluss - Ich habe lange nach einer Lösung gesucht, aber noch keine funktionierende Lösung gefunden.
Ziel: Erstellen Sie eine Dynamic DNS-Lösung, um ohne Fremdanbieter auf mein Heimnetzwerk zuzugreifen.
Einrichtung: Internetserver, auf dem nginx mit verfügbaren Domänen ausgeführt wird, lokales Netzwerk mit Router, der vom ISP jeden Tag automatisch eine neue IP zugewiesen wird.
Was bisher erreicht wurde : Ich nginx als Reverse Proxy zu verwenden, verwaltet Anfragen weitergeleitet werden sollen, https://dyn.mydomain.tld
um https://my.current.ip.address
eine Verwendung server
Richtlinie entsprechend
server { 443 ssl http2; ssl on; ssl_certificate /etc/letsencrypt/live/dyn.mydomain.tld/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/dyn.mydomain.tld/privkey.pem; location / { proxy_pass https://my.current.ip.address; } }
Dadurch wurde die Anforderung erfolgreich und transparent an die Webschnittstelle des lokalen Routers umgeleitet.
Problem: Ich brauche das natürlich, um mit meiner dynamischen IP-Adresse zu arbeiten. Ich kann meinem Router anweisen, eine beliebige URL anzurufen und die neue IP-Adresse bei jeder Änderung weiterzugeben. Was ich anscheinend brauche, ist eine URL auf meinem Server, die die IP-Adresse aktualisiert, an die Nginx Anfragen weiterleitet. Was ich suche, ist eine Lösung, die dies mit so wenig Leistung und (was noch wichtiger ist) Auswirkungen auf die Sicherheit hat.
Gedanken: Was ich zuerst dachte, ist, diese IP in einer Datei zu haben, die von Nginx gelesen wird, aber ich habe gelesen, dass dies eine ziemlich schlechte Leistung ergeben sollte (wenn es überhaupt möglich ist, eine Variable aus einer Datei in der Nginx-Konfig lesen zu lassen).
Eine andere Idee wäre, ein Skript die IP-Adresse irgendwo aktualisieren zu lassen und Nginx neu zu laden, um den Wert "statisch" zu laden. Das würde jedoch bedeuten, dass ich ein öffentlich zugängliches Skript / URL-Root-Privileg vergeben muss, zumindest um nginx neu zu starten und möglicherweise eine Datei neu zu schreiben. Was scheint, als würde ich nichts tun?
Frage (kurz): Gibt es eine Möglichkeit, nginx einen dynamischen Wert für die IP-Weiterleitung bereitzustellen, der durch Ausführen eines Skripts nach einer vom Router initiierten HTTPS-Anforderung aktualisiert werden kann?
Nebenbei: Die als "bisher erreicht" genannte Implementierung präsentiert dem Browser das auf dem Server installierte Lets Encrypt-Zertifikat, während das (selbstsignierte) Zertifikat des Browsers nicht mehr verwendet wird (beim Zugriff auf die Konfigurationsseite des Routers direkt über seine) aktuelle IP-Adresse oder durch einen Dynamic DNS-Dienst eines Drittanbieters beschwert sich der Browser über das selbstsignierte Zertifikat). Auch wenn dies wie ein bequemer Fortschritt aussieht, ist dies nicht ein Sicherheitsproblem, da die Identität des Routers möglicherweise nicht ordnungsgemäß überprüft wird.
0 Antworten auf die Frage
Verwandte Probleme
-
1
Konfigurieren Sie die EasyBox (Vodafone) mit DynDNS
-
3
Zugriff auf lokal gehostete Webseiten über öffentliche IP-Adressen
-
3
DynDns Verwirrung
-
2
Ändern Sie DNS-Auflösung basierend auf, wo ich bin
-
1
SIP: PAP2T unterstützt keine dynamische IP-Adresse?
-
1
Verwenden Sie Dynamic DNS, um auf das Java-Servlet zuzugreifen. Benötigen Sie noch Portforward?
-
1
Wie verwende ich die integrierte Unterstützung für dyndns-Clients im 2Wire-Router?
-
1
So löschen Sie den Windows-DNS-Cache
-
1
Wie kann ich vom Internet aus auf meinen lokalen Host-Server zugreifen?
-
1
Dynamisches DNS mit Comcast