NEWS
Let's Encrypt
-
Zwischendurch (zwischen Blockly) habe ich ein Thema erledigt: Let's Encrypt.
Es war ziemlich kompliziert da einzusteigen und überhaupt durchzublicken, aber ich habe es geschafft relativ einfach über ioBroker es zu machen.
Mit Let's Encrypt kann man SSL Zertifikate umsonst für eigene Domäne zu bekommen.
Es hat mir gelungen für Zuhause und auch für iobroker.biz die Zertifikate zu bekommen und die zu benutzen.
Um Let's Encrypt auszuprobieren muss man wissen, was DynDNS und Co sind und auch neueste Admin und Web vom git installieren.
Im Admin gibt es unter Systemeinstellungen jetzt neue Lasche, wo man email, domäne und Pfad für Let's Encrypt Zertifikate einstellen kann.
Ich weiß nicht ob man so was wie "my.domain.com, mydomain.com" einstellen kann, aber so was wie "http://www.mydomain.com, mydomain.com" sollte gehen.
Für Email wird automatisch ein Login bei Let's Encrypt angelegt. Bitte die Email immer gleich benutzen.
Es wird auch für Login ein Schlüssel beim ersten Mal generiert.
Es kann sein, dass auf manchen Maschinen (z.B. RasPi) es SEHR lange (10 Minuten) dauern kann.
Die offizielle Dokumentation kann man auf dem git iobroker.admin (english) finden.
Es muss unbedingt node.js >4.5.x installiert sein, da ein Bug mit base64 gefixt wurde.
Es ist so konzipiert, dass eine Adapter-Instanz (admin, web, socketio oder simpleapi) die Zertifikate holt und alle andere Instanzen die Zertifikate nur benutzen.
D.h. man darf nur bei einer Instanz die Option "Benutze diese Instanz für automatische Updates:" aktivieren.
Authority Server muss unbedingt diene Anlage über port 80 erreichen. Es kann hinter einem Router sein, welcher den Port 80 auf was anderes intern umleitet, aber von außen muss es auf jeden Fall der Port 80 sein.
Ich sollte z.B. iobroker.biz Apache server runterfahren um Zertifikat zu bekommen. Danach fuhr ich Apache wieder hoch.
Ich habe extra für ioBroker ein Pull-Request gegen node-letsencrypt erzeugt und jetzt kann man auch die Outputs sehen.
Da steht eine Menge Info und Fehlerbeschreibungen drin.
Nicht vergessen, das auf Windows Skype auch port 80 belegt.
Bitte erst nur erfahrene Leute die Fragen stellen. Die müssen wissen: SSL, Let's Encrypt, router, DynDns.
Für alle andere bitte Cloud Funktion benutzen.-
-
Ich habe es mal probiert, über den Zahnradknopf unter Lets encrypt aktiviert und meine Mail eingegeben, gespeichert und neu gestartet.
Nun komme ich nicht mehr auf die Weboberfläche…
Aber iobroker läuft, per Telegram kann ich alles steuern.
` > Diese Website ist nicht erreichbar
192.168.x.xxx hat die Verbindung abgelehnt. `
edit: vorher hatte ich lets encrypt Zertifikat im Zahnrad unter Zertifikate abgelegt, das hat jetzt fast 90 Tage funktioniert. Portforwarding ist eingerichtet und auch über die direkte, lokale IP statt über die DynDNS geht es nicht.
Lösung um SSL zu deaktivieren um wieder arbeiten zu können: ````
cd /opt/iobroker
iobroker list instances
[admin.0 Instanz wird aktiv angezeigt]
iobroker set admin.0 --ssl falseJetzt bleibt die Frage, warum lets encrypt nicht geht…. Liegt es an der Subdomain? Ich habe im Feld Domäne eingetragen (Muster):
-
Hast du probiert deine Adresse anzufragen?
> The certificates will be first requested when the given domain address will be accessed. E.g you have "sub.domain.com" as address, when you try to access [https://sub.domain.com](https://sub.domain.com) the certificates will be first requested and it can last a little before first answer will come.
Die Webseite sollte da sein nur nicht unter http, sondern unter https, weil dafür die default Zertifikate verwendet werden. Also du konntest ganz normal admin unter https://ipaddress:8081 erreichen.
-
Hi Bluefox,
ich nutze seit einiger Zeit die simpleAPI mit einem Zertifikat von domainFactory für meine Domain, damit meine kleine iOS App/WatchOS App den https Call aus dem Internet auf die simpleAPI nutzen kann.
Bisher habe ich die simpleAPI immer mit Hand "gepatched" damit ich zusätzlich zu den Public/Private Zertifikat auch noch das notwendige Intermediate Zertifikat angeben kann (ich habe es mangels Wissen hardcoded und noch eine Einstellung für die Auswahl der Schlüssel/Hash Algorithmen vorgenommen).
Ich schätze bei den neuen Einstellungen, welche durch Let's Encrypt gekommen sind, entspricht dies dem "Kettenzertifikat"? Ich habe das Intermediate Zertifikat des Herausgebers in den Zertifikaten bei ioBroker installiert, kann es aber bei Kettenzertifikat nicht auswählen, das DropDown Feld bleibt leer. Habe ich das eventuell falsch Interpretiert ? Wenn mein Zertifikat abgelaufen ist, werde ich das Let's Encrypt probieren, klingt gut. Ich hoffe es wird von iDevices auch akzeptiert.
Gruss Marco
-
Hast du probiert deine Adresse anzufragen?
> The certificates will be first requested when the given domain address will be accessed. E.g you have "sub.domain.com" as address, when you try to access [https://sub.domain.com](https://sub.domain.com) the certificates will be first requested and it can last a little before first answer will come.
Die Webseite sollte da sein nur nicht unter http, sondern unter https, weil dafür die default Zertifikate verwendet werden. Also du konntest ganz normal admin unter https://ipaddress:8081 erreichen. `
Hallo Bluefox,
das klappt leider nicht. SO hatte ich das ja bei mir (wie gesagt, vorher hatte ich manuell Zertifikate hochgeladen und mit https://sub.domain.d:8081 immer angesprochen und das hat funktioniert).
Jetzt hatte ich diese manuellen Zertifikate gelöscht und stattdessen und lets encrypt die Daten eingestellt. Auch iobroker neu gestartet. Trotzdem nicht unter https:…. erreichbar.
Was kann ich tun?
-
-
Hallo Bluefox,
danke für das Video, es erklärt den Ablauf prima und hat meine Fragen beantwortet
Ich habe es ausprobiert und es hat nach dem Upgrade von nodejs-4.5 auf 4.6 tadellos für meine sub.domain.de funktioniert ! Top, danke Dir.
Die Frage ist noch ob man seinen ioBroker per https und durch Username und Passwort gesichert so bedenkenlos ins Internet stellen kann ?
Gruss Marco
-
Naja, so ganz ohne Probleme läufts wohl doch noch nicht
Ich kann die vis Seite einmal aufrufen über https://sub.domain.de/vis/…. wenn ich die Seite nach einiger Zeit erneut öffne, sehe ich nur die 3 Punkte oben links und dabei bleibt's dann. Ich habe mal die Console geöffnet und dabei kam folgendes heraus:
Sieht so aus als ob er versucht mit einem abgelaufenden Token die Seite zu laden ? Leider fehlt mir dazu ausreichend Hintergrundwissen um das zu interpretieren.
Wenn ich die Seite über https://192.168.xx.xxx/vis… öffne scheint es immer zu funktionieren. Ich vermute es liegt daran, dass die Seite vom Browser sowieso als unsicher angemeckert wird, da das Zertifikat ja auf die Domain ausgestellt ist und nicht auf die interne IP.
Gruss Marco
-
hello colleagues,
please check out the video, howto "Let's encrypt in/with ioBroker":
-
Hallo Bluefox,
danke für das Video, es erklärt den Ablauf prima und hat meine Fragen beantwortet
Ich habe es ausprobiert und es hat nach dem Upgrade von nodejs-4.5 auf 4.6 tadellos für meine sub.domain.de funktioniert ! Top, danke Dir.
Die Frage ist noch ob man seinen ioBroker per https und durch Username und Passwort gesichert so bedenkenlos ins Internet stellen kann ?
Gruss Marco `
IoBroker.net ist im Internet seit einem Jahr. Und mit https mit password gesichert.Nur zu Info.
-
Prima, das höre ich gerne. Nichts ist besser als ein Test im produktiv Einsatz :!:
Ich hatte bisher ca. 1 Jahr nur die SimpleAPI mit https im Internet und konnte auch kein Problem feststellen.
Ich hab noch ein wenig geforscht, warum ich vis nur ein mal über https://sub.domain.de/vis/index.html#view vom Browser aus aufrufen kann.
Sobald ich die Cookies im Chrome lösche, kann ich die Seite wieder laden. Ansonsten kommen nur die 3 Punkte und im Console Log steht das gleiche wie im obigen Post von mir.
Bei Safari hilft es den Cache über die Enticklertools zu löschen, wobei wahrscheinlich auch die Cookies gelöscht werden. Bei den iPads/iPhone ist es das gleiche Problem.
Hast Du da eine Idee ?
Gruss Marco
-
Prima, das höre ich gerne. Nichts ist besser als ein Test im produktiv Einsatz :!:
Ich hatte bisher ca. 1 Jahr nur die SimpleAPI mit https im Internet und konnte auch kein Problem feststellen.
Ich hab noch ein wenig geforscht, warum ich vis nur ein mal über https://sub.domain.de/vis/index.html#view vom Browser aus aufrufen kann.
Sobald ich die Cookies im Chrome lösche, kann ich die Seite wieder laden. Ansonsten kommen nur die 3 Punkte und im Console Log steht das gleiche wie im obigen Post von mir.
Bei Safari hilft es den Cache über die Enticklertools zu löschen, wobei wahrscheinlich auch die Cookies gelöscht werden. Bei den iPads/iPhone ist es das gleiche Problem.
Hast Du da eine Idee ?
Gruss Marco `
Auf dem github liegt Web Adapter, wo das besser gehen soll. -
Prima, das höre ich gerne. Nichts ist besser als ein Test im produktiv Einsatz :!:
Ich hatte bisher ca. 1 Jahr nur die SimpleAPI mit https im Internet und konnte auch kein Problem feststellen.
Ich hab noch ein wenig geforscht, warum ich vis nur ein mal über https://sub.domain.de/vis/index.html#view vom Browser aus aufrufen kann.
Sobald ich die Cookies im Chrome lösche, kann ich die Seite wieder laden. Ansonsten kommen nur die 3 Punkte und im Console Log steht das gleiche wie im obigen Post von mir.
Bei Safari hilft es den Cache über die Enticklertools zu löschen, wobei wahrscheinlich auch die Cookies gelöscht werden. Bei den iPads/iPhone ist es das gleiche Problem.
Hast Du da eine Idee ?
Gruss Marco
Auf dem github liegt Web Adapter, wo das besser gehen soll.
Einfach über den admin und den Knopf für github update geht es am einfachsten -
Läuft auf den ersten Blick tadellos ! Ich probiere die Tage noch ein bisschen rum, aber auf jeden Fall läuft es jetzt schonmal mit Let's Encrypt !
Vielen Dank !
Gruss Marco
-
Läuft auf den ersten Blick tadellos ! Ich probiere die Tage noch ein bisschen rum, aber auf jeden Fall läuft es jetzt schonmal mit Let's Encrypt !
Vielen Dank !
Gruss Marco `
Hat video geholfen?
-
Ja, das Video ist prima ! Ich hatte es schon vorher mal probiert, aber einige Sachen waren noch nicht ganz klar. So klappte es auf anhieb (bis auf das reload Problem, aber das ist ja nun auch gefixt )
Bisher hatte ich nur für die Simple API ein gekauftes Zertifikat verwendet. Das ist nun überflüssig
Gruss Marco
-
hey,
Frage, wie sieht das ganze mit einem Reverse-Proxy aus?
muss ich da auch was anpassen?
-
Wenn du beide Ports durchschleifst sollte es funktionieren
-
hey,
bin mir nicht ganz sicher, wie das funktioniert.
habe mich ein bisschen mit der default-ssl.conf gespielt, ich komme nicht dahinter
da bekomme ich vom web adapter Fehlermeldungen von "Port 443 schon benutzt" bis zu "letsencrypt modul nicht gefunden".
Und von außen bekomme ich nur "connection error"
kann mir da jemand bitte helfen?
ach ja, unter /opt/iobroker/iobroker-data/ macht er mir kein myZERT Verzeichnis
-
Nur zur Info:
@Bluefox:Es war ziemlich kompliziert da einzusteigen und überhaupt durchzublicken,
…
nur erfahrene Leute die Fragen stellen. Die müssen wissen: SSL, Let's Encrypt, router, DynDns. `
Gruß
Rainer