NEWS
[gelöst] https + letsencrypt will einfach nicht laufen
-
Super das probiere ich dann gleich aus. Das heißt den Hacken bei "Benutze diese Instanz für automatische Updates" kann ich dann einfach weglassen. Wo genau liegen die Zertifikate auf der Synology?
-
Wollt es jetzt mal ausprobieren finde aber das LE Zertifikat auf der NAS Station nicht.
Weder hier /var/lib/letsencrypt/.well-known/acme-challenge noch hier /root/letsencrypt/var/lib/acme-challenge ist was drin.
In der Synology ist das LE Zertifikat aber hinterlegt.
Der copy task sieht so aus:cp -R /var/lib/letsencrypt/.well-known/acme-challenge/ /volume1/homes/admin/opt/iobroker/iobroker-data/letsencrypt/
Kann mir jemand helfen?
-
Hier mein Skript:
# Regelmässiges Kopieren der Let's Encrypt Zertifikate für iobroker # Starten mit: # sudo /volume1/docker/prod/script/copy-cert.sh # 09.04.2018 R.Krüger --- Erstellung targetPATH='/volume1/docker/prod/iobroker/esk-cert' cp /usr/syno/etc/certificate/system/default/cert.pem $targetPATH cp /usr/syno/etc/certificate/system/default/privkey.pem $targetPATH # Fertig! touch /volume1/docker/prod/script/copy-cert.log
Gruß Ralf
-
Hab das mal bei mir angepasst aber es will einfach nicht laufen. Settings in iobroker für LE sind folgende:
Im NAS hab ich ein täglichen Aufgabenplan mit folgendem script:targetPATH='/volume1/homes/admin/opt/iobroker/iobroker-data/letsencrypt' cp /usr/syno/etc/certificate/system/default/cert.pem $targetPATH cp /usr/syno/etc/certificate/system/default/privkey.pem $targetPATH
Im target folder liegen die beiden Files dann auch da:
In der web.0 Instanz hab ich LE an aber das automatische update aus.
Wenn ich nun via https://domain.de:8082 verbinde kommt im browser weiterhin nicht sichere Verbindung.In den logs steht dann:
admin.0 2019-01-06 16:35:07.199 error No letsencrypt certificates found in "/volume1/homes/admin/opt/iobroker/iobroker-data/letsencrypt"
Kein Ahnung was ich falsch mache…
-
Wenn Du die Zertifikate der Synology verwendest, musst Du das im ioBroker ohne Let's Encrypt machen.
1. Zertifikate regelmäßig kopieren (hast Du ja schon erledigt)
2. Let's Encrypt im ioBroker deaktivieren
!
3. In den ioBroker-Einstellungen Referenzen auf die kopierten Zertifikate setzen! filename="HC1.png" index="1">~~
4. In der Instanz admin.0 die Zertifikate einsetzen!
Allerdings funktionieren die Zertifikate nur auf dem externen Namen Deiner Synology, als beispielsweise xxx.myds.me. Entweder muss Du die Adresse Deiner Synology auf dem PC in deine C:\Windows\System32\drivers\etc\hosts eintragen ( <ip der/synology="">xxx.myds.me) oder in der Synology Zertifikate für Subdomains anlegen und diese dann unter Reverse Proxy eintragen.
Gruß, Ralf</ip>
-
Super danke dir das hat geklappt. Ich hab nach dem Einstellen einmal den iobroker stoppen und wieder starten müssen und jetzt werden die Zertifikate gefunden. Besten Dank!
> oder in der Synology Zertifikate für Subdomains anlegen und diese dann unter Reverse Proxy eintragen.
Hast du dafür eine Anleitung? Ich wollt gern von außen ohne Ports hantieren, das heißt https://domain.de/foo und https://domain.de/bar eintippen und die sollen dann intern auf den Richtigen Port weitergeleitet werden. Soweit ich weiß sollte nginx dafür brauchbar sein. Oder geht das schon mit Synology Boardmitteln? -
Geht mit Bordmitteln, aber Vorsicht: Damit ist der ioBroker von außen erreichbar und davon wird von den Betreibern aus Sicherheitsgründen dringend abgeraten. Die angebotene Cloud-Lösung ist hier sicherer.
Es geht nicht mit Ergänzungen am Domainnamen, sondern nur mit Subdomains.
Wenn Deine Domaine xxx.myds.me lautet, dann sind Subdomains S1.xxx.myds.me / S2.xxx.myds.me / iobroker.xxx.myds.me, etc.
Für jeden Port (vis, admin oder andere Docker-Container) brauchst Du eine eigene Subdomain.
1. Du brauchst für jede Subdomain ein Zertifikat, die können aber in einem Rutsch angefordert werden.
Wahrscheinlich musst Du dafür Dein vorhandenes Zertifikat löschen oder überschreiben:
-
Systemsteuerung / Sicherheit / Zertifikat
-
Hinzufügen / Zertifikat von Let's Encrypt abrufen
-
Jetzt wird es spannend
– Domainname: xxx.myds.me
-- eMail: Deine eMailadresse
-- Betreff alternativer Name: iobroker.xxx.myds.me;S1.xxx.myds.me;S2.xxx.myds.me (Mit Semikolon trennen!)
Wie gewohnt erhälst Du jetzt ein Zertifikat welches jetzt allerdings mit allen angegebenen Adresse funktioniert.
2. Reverse Proxy einrichten
-
Systemsteuerung / Anwendungsportal / Reverse Proxy
-
Beschreibung:
-
QUELLE
-- Protokoll: HTTPS
-- Hostname: iobroker.xxx.myds.me (Subdomain)
-- Port: 443
-- HSTS aktivieren
-- HTTP/2 aktivieren
- ZIEL
-- Protokoll: HTTPS
-- Hostname: localhost
-- Port: 8081 (Port auf der Synology)
3. Firewall / Router
Der Router muss alle Anfragen auf Port 443 an die Synology weiterleiten.
Ebenso 80 für Let's Encrypt aber der sollte ja schon offen sein.
Gruß, Ralf
-
-
Danke für die ausführliche Erklärung. Soweit hab ich alles konfiguriert, meine subdomains werden aber nicht aufgelöst. Ich bekomme im chrome immer DNS_PROBE_FINISHED_NXDOMAIN.
Ich vermute ich muss meine subdomains bei meinem dyndns Betreiber bekannt machen?
Port 443 und 80 werden an das NAS umgeleitet.
-
Hab es gefunden, wildcard musste im dyndns account eingestellt werden.
Danke und Grüße
-
Bestens, dann füge doch ein [gelöst] an den Anfang des Eintrages zu.
Gruß Ralf
-
Ein kleines bisschen zu früh gefreut. Die Reverse proxy Einstellungen sind jetzt aktiv und die subdomain kann auch aufgelöst werden. Jedoch sind die subdomains jetzt nicht mehr als sicher erkannt. Ich hab das Zertifikat ersetzt und bei Betreff alternativer Name alles subdomains mit ; getrennt aufgeführt.
Das kopieren der Zertifikate im NAS hab ich gleich ausgeschaltet und adressiere die direkt von /usr/syno/etc/certificate/system/default/ da ich iobroker nicht im docker laufen habe.
-
Synology neu gestartet?
Hat der Browser schon das neue Zertifikat übernommen?
-
Synology hab ich neu gestartet. Browserdaten hab ich jetzt mal gelöscht. Damit hat er sich das neue Zertifikat gezogen (seh ich am Ausstellungsdatum) aber die Subdomains werden weiterhin als nicht sicher erkannt.
Ich hab jeweils zwei weiterleitungen gemacht von http->https und https->https jeweils für die zwei Subdomains. -
Wenn ich die Subdomains mit Port eingebe dann werden die als sicher erkannt (Zertifikat wird gefunden). Dann macht der Reverse Proxy ja aber keinen Sinn!?
https://vis.domain.de:8082 –> sicher
vis.domain.de:8082 --> sicher (wegen http auf https reverse proxy)
https://vis.domain.de --> unsicher
-
Da kann ich auch nicht mehr weiterhelfen, sieht bei mir genau so aus und funktioniert.
Allerdings sind bei mir unter dem "Alternativen Antragstellernamen" nur die Subdomains und nicht die Hauptdomain aufgeführt.
Gibt es ggf. im Zertifikat unter "Allgemein" noch weitere Info's?
Wurden die neuen Zertifikate auch vor dem Neustart in den ioBroker kopiert?
Gruß, Ralf
-
> Gibt es ggf. im Zertifikat unter "Allgemein" noch weitere Info's?
!
> Allerdings sind bei mir unter dem "Alternativen Antragstellernamen" nur die Subdomains und nicht die Hauptdomain aufgeführt.
Ich kann es ja noch mal neu erzeugen, aber bei "Alternativen Antragstellernamen" hab ich eigentlich nur die Subdomains eingetragen nicht die Hauptdomain.
> Wurden die neuen Zertifikate auch vor dem Neustart in den ioBroker kopiert?
Nein, da ich den iobroker NICHT in einem Container laufen lasse sondern direkt in der Synology, kann auch direkt auf das Verzeichnis verlinken wo die "original" Zertifikate drin sind. Damit brauch ich überhaupt nichts mehr kopieren.