Dokumentation: Jarvis über eigene Domain mit Reverse Proxy und SSL #2507
TZanke
started this conversation in
Show and tell
Replies: 3 comments 2 replies
-
Ist mal schnell heruntergeschrieben. Ich werde da noch mal drüber lesen, vielleicht fehlt auch noch was. Feedback willkommen. |
Beta Was this translation helpful? Give feedback.
1 reply
-
Habe es so erstmal übernommen. Danke. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Wie bekommt man Jarvis über einen Reverse Proxy unter einer eigenen Domain zum laufen (NGINX)
8082
öffnet.8400
aufrufen, das sollte genauso funktionieren, nur dass/jarvis/
in der URL nicht mehr benötigt wird.Wenn hier etwas nicht klappt, löscht am besten mal den Browserspeicher für die Domain. Experten löschen via
F12
unter Web-Speicher beim Local Storage dieparams
undrecentConnections
.http
eure.ip
und Port8400
. Außerdem denWebsockets Support
einschalten.Sollte Jarvis sich nicht öffnen und nach der IP und dem Port fragen, löscht am besten wieder wie oben erklärt den Browserspeicher. Zudem ist es ratsam in den Einstellungen (wenn die nicht eh schon von alleine angezeigt werden) unter dem Tab
Verbindungen
den Port zu setzten, den euch NGINX nach außen zur Verfügung stellt. Das wäre Standardmäßig Port80
.Ihr leitet jetzt also den Standard Internetort
80
über den NGINX auf eure Server IP um, auf dem wiederum Jarvis unter dem Jarvis-Standard Websocket Port8400
läuft.Jarvis mit Reverse Proxy über SSL
Web
Adapter des IOBroker auf. Um SSL einzuschalten, muss in der Instanzkonfiguration dieVerschlüsselung (HTTPS)
eingeschalten werden. Obacht: Wenn mehrere Webinstanzen existieren, bitte die auswählen, die Jarvis zur Verfügung stellt. Achtung: Danach funktioniert der Zugriff über HTTP bzw. Port80
nicht mehr! Auch alle anderen Dienste, die über diesen Webadapter laufen müssen, nun per HTTPS geöffnet werden.Die Standardzertifikate sind ausreichend, solange man damit leben kann, dass die Zertifikate nicht als gültig im Browser angezeigt werden. Aber dazu später mehr.
Jarvis sollte jetzt über HTTPS und eurer eigenen Domain verfügbar sein. Das Zertifikat ist allerdings noch nicht valide. Wenns nicht klappt am besten die Jarvis Instanz noch mal neu starten und den Trick mit den Browserdaten löschen von oben anwenden. Wenn Jarvis den Port erfragt oder man in die Einstellungen kommt, ist auch hier wieder Port
80
benutzen, denn noch liefert NGINX per HTTP aus.Let's Encrypt Zertifikat
DNS-01 challenge
.Siehe. https://letsencrypt.org/de/docs/challenge-types/
Dazu benötigt wird allerdings ein DNS Anbieter, der es ermöglicht einen DNS Eintrag temporär für die Erstellungszeit des Zertifikats anzulegen. Ob der Anbieter dies unterstützt, findet man hier heraus: https://github.com/acmesh-official/acme.sh/wiki/dnsapi
Zusatzinfo: das
acme.sh
Script wird intern von NGINX zur Zertifikatserstellung verwendet. Andere Dienste nutzen möglicherweiseacme.js
. Dort gibt es deutlich weniger Anbieter: https://www.npmjs.com/package/acme#challenge-callbacksIn meinem Fall habe ich zum Test ein Konto bei
dynu.com
erstellt und bin bisher ganz zufrieden. Für Nutzer vonafraid.org
funktioniert es im kostenlosen Modus enttäuschenderweise nicht.Anschließend wird der API-Key, der bei
![image](https://private-user-images.githubusercontent.com/1613368/293422473-97f2d2a4-1bcb-4273-994f-20fd6a4e473a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODMxODUsIm5iZiI6MTczOTM4Mjg4NSwicGF0aCI6Ii8xNjEzMzY4LzI5MzQyMjQ3My05N2YyZDJhNC0xYmNiLTQyNzMtOTk0Zi0yMGZkNmE0ZTQ3M2EucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxMiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTJUMTc1NDQ1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9OTM1NWRkNTg3NmFiMmI2N2Q4OTIzZDIzZmViZDZlMDA1M2MyZGZiNmIwNjgyZTdiNmQ3NDgwNGViYzA0ZTEzNyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.BOmQrK0hzOmuvyScw3lDPVdO1f6A4Sh3o78joyw1kuc)
dynu.com
für die jeweilige Domain zu finden ist, benötigt.Es ist möglich, einen zusätzlichen Key nur für NGINX anzulegen. Hierfür verweise ich aber auf die Dokumentation des jeweiligen Anbieters.
Bei Verwendung von
dynu.com
sollte es nun so aussehen.Speichern und es wird ein Zertifikat erstellt.
Hat alles geklappt, ist das Zertifikat jetzt im NGINX zu sehen.
![image](https://private-user-images.githubusercontent.com/1613368/293422936-88f1f0f1-4997-4f42-8bc1-7702b23bb490.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODMxODUsIm5iZiI6MTczOTM4Mjg4NSwicGF0aCI6Ii8xNjEzMzY4LzI5MzQyMjkzNi04OGYxZjBmMS00OTk3LTRmNDItOGJjMS03NzAyYjIzYmI0OTAucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxMiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTJUMTc1NDQ1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MzM2MzAzMWM5ZjBmMDEwZGYzMzBiZjM0MDI1Y2RhMmJmY2U3NGEwNGJkZjdmNzg2NDgyZDU1ODM5YzM5OTA0ZCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.VpUFLrd3uR0fabu3oIz0Tl3Cm4ydK9VFIlc9cG-JANk)
Jetzt das Zertifikat im DNS Eintrag für NGINX verwenden. Dazu wieder die Jarvis Domain editieren und im Tab
![image](https://private-user-images.githubusercontent.com/1613368/293423028-49f4ff66-9ec3-4d5c-a16f-420ea72b4d84.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODMxODUsIm5iZiI6MTczOTM4Mjg4NSwicGF0aCI6Ii8xNjEzMzY4LzI5MzQyMzAyOC00OWY0ZmY2Ni05ZWMzLTRkNWMtYTE2Zi00MjBlYTcyYjRkODQucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxMiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTJUMTc1NDQ1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YWUwNzIzMGRhNGJkN2IyZGRkZTJlZDAwZjkzZDYwOGI1ODNmOGZhOGVlMTlmM2I1YjdjYjJjMDkyYzA3NmZlOSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.SQ4-sZn9iRfDvyW3xshkg5V21U4_ebrGHNJk3lr9928)
SSL
folgendes auswählen:Unter der Domain ist jetzt über
HTTPS
Jarvis mit einem gültigen Zertifikat zu erreichen. Diesmal muss der Websocket Port allerdings auf den Standard-SSL Port443
gesetzt werden!Beta Was this translation helpful? Give feedback.
All reactions