NEWS
IObroker hinter Nginx Proxy Manager betreiben
-
Hallo zusammen,
ich bin aktuell viel am basteln und möchte iobroker hinter einem NPM betreiben.
NPM übernimmt für mich das SSL Offloading und kümmert sich um das Zertifikat.
Es ist kein Zugriff von außen geplant, wenn dann nur über VPN.Im Grund ist das ja auch erstmal alles kein Problem.
ioBroker ist erreichbar über iobroker.**.deDie Herausforderungen entstehen, wenn Instanzen von Adapter aufrufen möchte.
Alle Instanzlinks sind "kaputt" logischerweise.Beispiel VIS: iobroker.**.de:8082/vis/edit.html#DemoView
Das funktioniert natürlich nicht mehr, weil die Anfrage an NPM geht und der nur auf Port 80/443 lauschtJetzt könnte man sicherlich einen weitere Proxy anlegen für vis.**.de.
Ändert ab nichts da dran, dass die Instanzlinks weiterhin "kaputt" wären.Vermutlich gibt es noch weitere Herausfordernungen mit irgendwelchen Adaptern, die ich so nicht sehe.
Wie macht Ihr das?
-
Hallo zusammen,
ich bin aktuell viel am basteln und möchte iobroker hinter einem NPM betreiben.
NPM übernimmt für mich das SSL Offloading und kümmert sich um das Zertifikat.
Es ist kein Zugriff von außen geplant, wenn dann nur über VPN.Im Grund ist das ja auch erstmal alles kein Problem.
ioBroker ist erreichbar über iobroker.**.deDie Herausforderungen entstehen, wenn Instanzen von Adapter aufrufen möchte.
Alle Instanzlinks sind "kaputt" logischerweise.Beispiel VIS: iobroker.**.de:8082/vis/edit.html#DemoView
Das funktioniert natürlich nicht mehr, weil die Anfrage an NPM geht und der nur auf Port 80/443 lauschtJetzt könnte man sicherlich einen weitere Proxy anlegen für vis.**.de.
Ändert ab nichts da dran, dass die Instanzlinks weiterhin "kaputt" wären.Vermutlich gibt es noch weitere Herausfordernungen mit irgendwelchen Adaptern, die ich so nicht sehe.
Wie macht Ihr das?
IoBroker offen im Internet zu betreiben, ist keine gute Idee.
Das einzig sichere ist über VPN.
Es gab hier schon diverse Mitteilungen von gekaperten Installationen.
Ein Reverse Proxy reduziert zwar das Risiko, schließt es aber auch nicht aus. SSL ist nur eine Transportverschlüsselung, sichert aber deinen Server null ab.Falls du das jetzt aber doch machen möchtest, dann musst du nach der Websocket Verbindung schauen, die benötigt im Reverse Proxy eine besondere Behandlung.
-
IoBroker offen im Internet zu betreiben, ist keine gute Idee.
Das einzig sichere ist über VPN.
Es gab hier schon diverse Mitteilungen von gekaperten Installationen.
Ein Reverse Proxy reduziert zwar das Risiko, schließt es aber auch nicht aus. SSL ist nur eine Transportverschlüsselung, sichert aber deinen Server null ab.Falls du das jetzt aber doch machen möchtest, dann musst du nach der Websocket Verbindung schauen, die benötigt im Reverse Proxy eine besondere Behandlung.
@OliverIO sagte in IObroker hinter Nginx Proxy Manager betreiben:
IoBroker offen im Internet zu betreiben, ist keine gute Idee.
Das einzig sichere ist über VPN.
Es gab hier schon diverse Mitteilungen von gekaperten Installationen.
Ein Reverse Proxy reduziert zwar das Risiko, schließt es aber auch nicht aus. SSL ist nur eine Transportverschlüsselung, sichert aber deinen Server null ab.Falls du das jetzt aber doch machen möchtest, dann musst du nach der Websocket Verbindung schauen, die benötigt im Reverse Proxy eine besondere Behandlung.
Ich hab doch klar geschrieben, dass ich es nicht von außen erreichbar mache!
-
@OliverIO sagte in IObroker hinter Nginx Proxy Manager betreiben:
IoBroker offen im Internet zu betreiben, ist keine gute Idee.
Das einzig sichere ist über VPN.
Es gab hier schon diverse Mitteilungen von gekaperten Installationen.
Ein Reverse Proxy reduziert zwar das Risiko, schließt es aber auch nicht aus. SSL ist nur eine Transportverschlüsselung, sichert aber deinen Server null ab.Falls du das jetzt aber doch machen möchtest, dann musst du nach der Websocket Verbindung schauen, die benötigt im Reverse Proxy eine besondere Behandlung.
Ich hab doch klar geschrieben, dass ich es nicht von außen erreichbar mache!
aber dann brauchst du auch kein Reverse Proxy und auch kein SSL. Das SSL Zertifikat wird dir ja auch nur auf eine von außen erreichbare Domäne ausgestellt.
Wenn du diese Domäne dann für das ansprechen verwendest, gehen die Anfragen ja trotzdem an die Außenseite deines Routers und muss normal durchgereicht werden. ohne Port Weiterleitung wird das nicht funktionieren.Oder gehst du von Man in the Mitddle attacken innerhalb deines Lan aus?
Wenn du für deinen ioBroker eine Domäne haben möchtest, dann trag in deinem Router einen Hostname ein und Mappe, das auf die IP Adresse deines iobrokers
Alternativ kannst du dir auch ein internes Dashboard anlegen.
Ich habe mir hier unter dem Namen links ein kleines Dashboard gebaut, unter dem ich jeden internen Dienst durch einen einfachen Klick oder Touch erreichen kann. -
Naja, also ich betrachte mein LAN erstmal als sicher, es wäre auch nicht zwingend nötig SSL zu nutzen, aber ich finde es halt einfach besser.
Ich habe eine externe Domain, die zeigt nicht auf mein Rounter.
Aber ich kann dafür problemlos ein Zertifikat mit Lets Encrypt erstellen mit NPM.
DNS steht aktuell im piHole bei mir und zeigt halt auf den NPM.Ich nutze das so im HomeLab für diverse Dienste. Unifi, NAS, PiHole, usw.
Wirkt irgendwie "sauberer", wenn das Zertifikat Gültig ist. :) -
Naja, also ich betrachte mein LAN erstmal als sicher, es wäre auch nicht zwingend nötig SSL zu nutzen, aber ich finde es halt einfach besser.
Ich habe eine externe Domain, die zeigt nicht auf mein Rounter.
Aber ich kann dafür problemlos ein Zertifikat mit Lets Encrypt erstellen mit NPM.
DNS steht aktuell im piHole bei mir und zeigt halt auf den NPM.Ich nutze das so im HomeLab für diverse Dienste. Unifi, NAS, PiHole, usw.
Wirkt irgendwie "sauberer", wenn das Zertifikat Gültig ist. :)Also
- nur intern
- aber über offizielle Domain
- die Domain zeigt nicht auf den Router
- ggfs mit Ssl von lets encrypt
Ich muss sagen, ich habe den Faden verloren und verstehe nicht was du eigentlich willst
Wenn du ein Selbst ausgestelltes Zertifikat intern gültig machen willst, musst du den Public Key deiner internen CA in die einzelnen Browser importieren. Dann meckert er auch nichts.
https://wiki.ubuntuusers.de/CA/
Dann brauchst du aber auch kein Letsencrypt.
Wenn du dein Netz als sicher betrachtest, warum dann SSL.
Das läuft bei mir unter unnötig kompliziert. -
@OliverIO sagte in IObroker hinter Nginx Proxy Manager betreiben:
Also
- nur intern
- aber über offizielle Domain
- die Domain zeigt nicht auf den Router
- ggfs mit Ssl von lets encrypt
Ich muss sagen, ich habe den Faden verloren und verstehe nicht was du eigentlich willst
Wenn du ein Selbst ausgestelltes Zertifikat intern gültig machen willst, musst du den Public Key deiner internen CA in die einzelnen Browser importieren. Dann meckert er auch nichts.
https://wiki.ubuntuusers.de/CA/
Dann brauchst du aber auch kein Letsencrypt.
Wenn du dein Netz als sicher betrachtest, warum dann SSL.
Das läuft bei mir unter unnötig kompliziert.Ich möchte kein eigenes Root CA erstellen und auf Geräte verteilen, dass ergibt keinen Sinn und wird auch nicht sonderlich gut überall funktionieren.
Die richtige Domain braucht es, damit man überhaupt mit LetsEncypt ein Zertifkat bekommt.Machen wir es mal einfacher und nehmen das Zertifkat aus dem Thema raus, weil mit TLS oder ohne spielt eigentlich keine Rolle.
Warum nutze ich NPM?
Naja ganz einfach, weil mir die ganzen Ports auf den senkel gehen!
Ich möchte sprechende DNS haben!
Beispiel

Mit NPM umgehen ich das komplett. Alles was erstmal TCP ist, kann ich so handhaben!
Wenn ich das für iobroker auch machen möchte, werde ich wohl auf Probleme stoßen.
Das erste Problem ist, dass unter Instanzen die Links nicht mehr funktionieren.
Aber gibt es auch noch weitere Probleme? z.B. wenn Adapter intern auf einen anderen verlinken? -
@OliverIO sagte in IObroker hinter Nginx Proxy Manager betreiben:
Also
- nur intern
- aber über offizielle Domain
- die Domain zeigt nicht auf den Router
- ggfs mit Ssl von lets encrypt
Ich muss sagen, ich habe den Faden verloren und verstehe nicht was du eigentlich willst
Wenn du ein Selbst ausgestelltes Zertifikat intern gültig machen willst, musst du den Public Key deiner internen CA in die einzelnen Browser importieren. Dann meckert er auch nichts.
https://wiki.ubuntuusers.de/CA/
Dann brauchst du aber auch kein Letsencrypt.
Wenn du dein Netz als sicher betrachtest, warum dann SSL.
Das läuft bei mir unter unnötig kompliziert.Ich möchte kein eigenes Root CA erstellen und auf Geräte verteilen, dass ergibt keinen Sinn und wird auch nicht sonderlich gut überall funktionieren.
Die richtige Domain braucht es, damit man überhaupt mit LetsEncypt ein Zertifkat bekommt.Machen wir es mal einfacher und nehmen das Zertifkat aus dem Thema raus, weil mit TLS oder ohne spielt eigentlich keine Rolle.
Warum nutze ich NPM?
Naja ganz einfach, weil mir die ganzen Ports auf den senkel gehen!
Ich möchte sprechende DNS haben!
Beispiel

Mit NPM umgehen ich das komplett. Alles was erstmal TCP ist, kann ich so handhaben!
Wenn ich das für iobroker auch machen möchte, werde ich wohl auf Probleme stoßen.
Das erste Problem ist, dass unter Instanzen die Links nicht mehr funktionieren.
Aber gibt es auch noch weitere Probleme? z.B. wenn Adapter intern auf einen anderen verlinken?Wenn du auch vis in einem NPM betreiben willst, musst du eine weitere Subdomain mit IP:8082 einrichten.
-
Wenn du auch vis in einem NPM betreiben willst, musst du eine weitere Subdomain mit IP:8082 einrichten.
@Meister-Mopper sagte in IObroker hinter Nginx Proxy Manager betreiben:
Wenn du auch vis in einem NPM betreiben willst, musst du eine weitere Subdomain mit IP:8082 einrichten.
Mir bekannt, aber welche Probleme hole ich mir da druch die ich nicht sehe?
-
@OliverIO sagte in IObroker hinter Nginx Proxy Manager betreiben:
Also
- nur intern
- aber über offizielle Domain
- die Domain zeigt nicht auf den Router
- ggfs mit Ssl von lets encrypt
Ich muss sagen, ich habe den Faden verloren und verstehe nicht was du eigentlich willst
Wenn du ein Selbst ausgestelltes Zertifikat intern gültig machen willst, musst du den Public Key deiner internen CA in die einzelnen Browser importieren. Dann meckert er auch nichts.
https://wiki.ubuntuusers.de/CA/
Dann brauchst du aber auch kein Letsencrypt.
Wenn du dein Netz als sicher betrachtest, warum dann SSL.
Das läuft bei mir unter unnötig kompliziert.Ich möchte kein eigenes Root CA erstellen und auf Geräte verteilen, dass ergibt keinen Sinn und wird auch nicht sonderlich gut überall funktionieren.
Die richtige Domain braucht es, damit man überhaupt mit LetsEncypt ein Zertifkat bekommt.Machen wir es mal einfacher und nehmen das Zertifkat aus dem Thema raus, weil mit TLS oder ohne spielt eigentlich keine Rolle.
Warum nutze ich NPM?
Naja ganz einfach, weil mir die ganzen Ports auf den senkel gehen!
Ich möchte sprechende DNS haben!
Beispiel

Mit NPM umgehen ich das komplett. Alles was erstmal TCP ist, kann ich so handhaben!
Wenn ich das für iobroker auch machen möchte, werde ich wohl auf Probleme stoßen.
Das erste Problem ist, dass unter Instanzen die Links nicht mehr funktionieren.
Aber gibt es auch noch weitere Probleme? z.B. wenn Adapter intern auf einen anderen verlinken?also meiner Meinung nach wäre die Hauptlösung einfach im router hostnamen / lokale DNS Record vergeben
So sieht das bei mir aus
ich verwende pihole als dns und dhcp

in openwrt nennt sich das static leases.
bei fritzbox Lokaler DNS / Hostname-Auflösungverschiedene ports auf dem gleichen gerät müsstest du dann eh mappen (8081>80, 8082>?) dann kannst du es gleich lassen.
mappen auf verschiedene subdomains wird wahrscheinlich nicht funktionieren, da dann iobroker seine eigenen urls entsprechend anpassen müsste, iobroker kann aber nur andere ports.zur vollständigkeit hier mal noch mein internes dashboard, was ich einfach mit der internen url "links" (meist reicht einfach auch im browser nur l zum tippen

jeder eintrag ist eine einfache textdatei in einem verzeichnis. das system horcht auf änderungen und generiert dann das portal auf basis des statischen seiten generators sphinx
einen neuen eintrag ist sehr simple über eine einfache textdatei angelegtTitle: IOBroker Test Tags: _All, Admin, Iobroker Link: http://192.168.1.81:8081/ IOBroker Haussteuerung Testintern setze ich auch den network proxy manager ein, aber halt ohne ssl und ohne portmapping
alles ist in docker containerngibt aber noch eine ganze reihe anderer softwares dafür
- Homer
- Heimdall
- Dashy
- Organizr