DSM 6.x und darunter Automatisierte Lets Encrypt Erneuerung (inkl. Portfreigabe + Fritz!Box Integration)

Alle DSM Version von DSM 6.x und älter

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.119
Punkte
214
Das hat ja mit der Umstellung auf ECC zu tun, was jetzt Standard ist. Das führt scheinbar bei einigen Geräten zu Kompatibilitätsproblemen.
Notfalls kannst du auch einfach über den Reverse Proxy gehen, dort interessiert es auch nicht ob Port 80 oder 443. Mit einem RSA Zertifikat funktioniert es aber 100% in der DS und FB.
 

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.119
Punkte
214
Ich konnte es eben nachstellen. Die Lösung ist ganz einfach: alle Dateien außer die account.conf löschen und den Befehl noch einmal absetzen. Schon wird das alte Zertifikat installiert. Danach den „Hook“ deiner Wahl. Dabei muss der Container nicht einmal gestoppt oder die account.conf bearbeitet werden.
 

Kachelkaiser

Benutzer
Sehr erfahren
Mitglied seit
22. Feb 2018
Beiträge
1.845
Punkte für Reaktionen
737
Punkte
134
Ich habe jetzt noch ein zweites Zertifikate erstellt und wollte dieses auch auf die Syno deployen. Leider wird dadurch immer das bestehenden ersetzt. Sehe ich das richtig, dass nicht zwei Zertifikate deployed werdne können?

Wie macht ihr das bei zwei Domains? Alles in ein Zertifikate speichern?
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.159
Punkte für Reaktionen
912
Punkte
424
SYNO_Create=1 oder wie der Parameter heißt setzen. Dann überschreibt man nicht immer das Standardzertifikat.

Jedenfalls habe ich mehrere Zertifikate (bis zu zwei) auf verschiedene DS deployed, von einer acme.sh Installation (allerdings ohne Docker).
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.701
Punkte für Reaktionen
3.694
Punkte
468
"SYNO_Create=1" steuert nur, was passieren soll, wenn das Zertifikat nicht existiert. SYNO_Certificate="irgendwas" musst du auf die Beschreibung des Zertifikats setzen, welches erneuert werden soll

Beispiel:
Code:
DOMAIN=example.com
export SYNO_Username="nasadmin"
export SYNO_Password="password"
export SYNO_Certificate="*.$DOMAIN"
export SYNO_Hostname="DS1522"
echo "Deploying´$SYNO_Certificate to $SYNO_Hostname ..."
~/.acme.sh/acme.sh --deploy -d $DOMAIN -d *.$DOMAIN --deploy-hook synology_dsm
export SYNO_Hostname="DS415"
echo "Deploying´$SYNO_Certificate to $SYNO_Hostname ..."
~/.acme.sh/acme.sh --deploy -d $DOMAIN -d *.$DOMAIN --deploy-hook synology_dsm
nasadmin gibt's auf beiden DSen und das Passwort ist gleich. Das Zertifikat mit der Beschreibung "*.example.com" wird ersetzt.
 

Kachelkaiser

Benutzer
Sehr erfahren
Mitglied seit
22. Feb 2018
Beiträge
1.845
Punkte für Reaktionen
737
Punkte
134
ok ich raffs noch nicht genau. müssen die Angaben in die account.conf oder per terminal ausgeführt werden?
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.701
Punkte für Reaktionen
3.694
Punkte
468
Über account.conf kannst du m.W. nur einen Deploy konfigurieren, bei mehreren musst du das scripten und die Variablen jeweils im Script umsetzen.
Zumindest hab ich das nur so geschafft, aber auch für mich war das Neuland.
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.515
Punkte für Reaktionen
1.351
Punkte
234
acme.sh hat bei mir aber auch alle Deployinfos in diese Datei geschrieben: …/example.com/example.com.conf.
Ich würde schlussfolgern, dass es auch mit mehreren Zertifikaten gehen sollte.
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.701
Punkte für Reaktionen
3.694
Punkte
468
Eine oder mehrere? Und was stand in dieser Domain-spezifischen conf-Datei dann drin?
Bei mir steht da immer nur das Ziel des letzten Deploys, aber halt nur eines.
Bei mehreren Zertifikaten geht das, aber pro Zertifikat gibt es wohl nur einen Deploy.
 
Zuletzt bearbeitet:

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.515
Punkte für Reaktionen
1.351
Punkte
234
Es geht doch um mehrere Zertifikate, wenn ich das richtig verstanden haben. Dafür sollte jeweils ein Deploy auf die DS möglich sein. Allerdings sollte sich mindestens der Name des Zertifikats unterscheiden. Das aber jetzt nur theoretisch und mutmaßlich von mir.
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.701
Punkte für Reaktionen
3.694
Punkte
468
Ich denke, dass war mit eine Frage von @Kachelkaiser, ein Zertifikat für alles (Wildcard) oder für jeden Namen ein eigenes?
Ich bevorzuge eines für alles, also *.example.com
 
  • Like
Reaktionen: geimist

Kachelkaiser

Benutzer
Sehr erfahren
Mitglied seit
22. Feb 2018
Beiträge
1.845
Punkte für Reaktionen
737
Punkte
134
Ich meinte es so, dass ich zwei verschiedene Domains habe. Für beide habe ich wildcard Zertifikate erstellt, weil ich nicjt beide Domains im gleichen Zertifikate möchte, und würde jetzt gerne bei auf die selbe DS deployen.

Sobald ich das zweite Zertifikate deploye, wird das bestehende durch das zweite ersetzt.

Wie schaffe ich es beide Zeritifikate zu deployen?
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
13.701
Punkte für Reaktionen
3.694
Punkte
468
Wie bereits gesagt, du musst das Scripten und die Variablen entsprechend jeweils setzen.

Beispiel:
Code:
DOMAIN=example1.com
export SYNO_Username="syno1admin"
export SYNO_Password="syno1password"
export SYNO_Certificate="*.$DOMAIN"
export SYNO_Hostname="syno1"
echo "Deploying´$SYNO_Certificate to $SYNO_Hostname ..."
~/.acme.sh/acme.sh --deploy -d $DOMAIN -d *.$DOMAIN --deploy-hook synology_dsm

DOMAIN=example2.com
export SYNO_Username="syno2admin"
export SYNO_Password="syno2password"
export SYNO_Certificate="*.$DOMAIN"
export SYNO_Hostname="syno2"
echo "Deploying´$SYNO_Certificate to $SYNO_Hostname ..."
~/.acme.sh/acme.sh --deploy -d $DOMAIN -d *.$DOMAIN --deploy-hook synology_dsm

...
SYNO_Certificate muss jeweils auf die Beschreibung (s. Aktion, Bearbeiten) des Zertifikats gesetzt werden, das du ersetzen willst.

Und ja, das Zertifikat soll ja ersetzt, sprich erneuert, werden.
Ich habe das in ein Script "acme_deploy.sh" ausgelagert, das aufgerufen wird, sobald das "acme.sh --renew ..." erfolgreich war.
 
Zuletzt bearbeitet:

Kachelkaiser

Benutzer
Sehr erfahren
Mitglied seit
22. Feb 2018
Beiträge
1.845
Punkte für Reaktionen
737
Punkte
134
wow scripten ist komplett neu für mich ;)

Muss ich mich mal in einer ruhigen Minuten mit beschäftigen. Danke sehr!
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat