Ich habe in meinem lokalen Netzwerk diverse Dienste laufen, auf die ich mit der IP-Adresse als URL zugreife. Das ist im Alltag ziemlich umständlich, wenn ich z.B. gerade das Lesezeichen für einen Dienst (z.B. meine Octoprint-Installation) nicht zur Hand habe aber darauf z.B. vom Handy zugreifen möchte.
Weiterhin nutze ich auch in meinem lokalen Netzwerk eine verschlüsselte Verbindung soweit möglich. Dies hat jedoch zusätzlich zur Folge, dass ich entweder mit einer Zertifikatswarnung leben muss oder ein Self-Signed-Zertifikat erstellen muss und dieses auf allen Endgeräten installieren muss. So habe ich bislang das Thema behandelt – bis mein root-Zertifikat letztens ausgelaufen ist und ich es verlängern musste. Was für eine Arbeit…
Da kam es mir ganz Recht, dass ich kürzlich bei Wolfgang in seinem YouTube-Kanal über eine coole Anleitung gestolpert bin, die sich dieses Problems annimmt.
Ich bin dieser Anleitung gefolgt und nachdem ich dank der Hilfe im reddit-Forum vom NgnixProxyManager einen Denkfehler ausbügeln konnte, läuft das ganze jetzt mit minimalem Aufwand mit sprechender URL, Let’s Encrypt-Zertifikat und aus dem Internet nicht erreichbar!
Dazu habe ich mir bei Porkbun eine DOT-party bestellt. Anschließend habe ich lokal in meinem Netzwerk via Docker einen NginxProxyManager Stack eingerichtet. In den DNS-Einstellungen von Porkbun habe ich für meine DOT-party Domain die folgenden Einträge konfiguriert:
TYPE | HOST | ANSWER |
---|---|---|
A | stolzfuss.party | 192.168.9.200 |
A | proxy.stolzfuss.party | 192.168.9.200 |
CNAME | *.stolzfuss.party | proxy.stolzfuss.party |
Damit habe ich für meine Domain stolzfuss.party alles für den Zugriff aus meinem lokalen Netzwerk heraus fertig eingerichtet.
Im NPM habe ich mir nun ein Wildcard Zertifikat für *.stolzfuss.party via Let’s Encrypt einrichtet. Mit diesem Zertifikat kann ich nun den ersten Proxy im NPM erstellen: proxy.stolzfuss.party mit dem neu erstellten Zertifikat und den nachfolgenden Daten:
Scheme | Forward Hostname / IP | Forward Port |
---|---|---|
http | 192.168.9.200 | 81 |
Wenn ich nun die NPM-Instanz via https://proxy.stolzfuss.party aufrufe, lädt bei mir im lokalen Netzwerk die NPM-Admin-Webseite. Alle anderen Zugriffe, die von außerhalb meines lokalen Netzwerkes auf diese Seite zugreifen wollen, bekommen einen Fehler, da die geroutete IP-Adresse in meinem lokalen Netz liegt.
Analog zum NPM kann ich nun alle meine lokalen Webseiten mit eigenen Subdomains in der Admin-Oberfläche vom NPM hinterlegen.
Und ich brauche mir in Zukunft keine IP-Adresse mehr merken und habe auch kein Problem mehr mit ablaufenden Zertifikaten.
Vielen Dank Wolfgang für diese coole Idee und das Tutorial!