acme.sh - automatische Verlängerung des Zero-SSL Zertifikats

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

XuseX

Benutzer
Registriert
08. Sep. 2023
Beiträge
21
Reaktionspunkte
1
Punkte
3
Hallo liebe Synology-Community,

ich habe vor ein paar Monaten meinen Zero-SSL Zertifikat über acme.sh für eine Subdomain, die ich als mit benutzerdefinierte Domain für Freigabe-Link (Synology Drive) verwende, eingerichtet. Die Einrichtung funktionierte nur teilweise, denn ich musste das Zertifikat manuell im DSM zuweisen.

Das Zertifikat wurde für folgende Domain erstellt und funktioniert auch.
.example.de
*.example.de
drive.example.de

In wenigen Tagen läuft das Zertifikat aus. Ich habe auch eine automatische Verlängerung im DMS > Aufgabenplaner für root-Benutzer als Skript hinterlegt

/usr/local/share/acme.sh/acme.sh --cron --home /usr/local/share/acme.sh/

Aber wenn ich die Aufgabe ausführe, dann sehe ich im Log nur:
[Mon Dec 4 09:29:17 CET 2023] ===Starting cron===
[Mon Dec 4 09:29:17 CET 2023] ===End cron===

Jetzt wollte ich mit acme.sh das Zertifikat manuell erneuern.

acme.sh --renew -d .example.de -d *.example.de -d drive..example.de --force --ecc

Und da kommt die Meldung: '.example.de' is not an issued domain, skip.

Einzeln hat es auch nicht funktioniert. Es kommt jeweils die Meldung:
'*.example.de' is not an issued domain, skip.
'drive.example.de' is not an issued domain, skip.

Dann habe ich mich bei ZeroSSL eingeloggt und wollte von dort aus, das Zertifkat erneuern. Dort sehe ich mein Zertifikat, aber wenn ich es erneuern möchte, dann kommt die Meldung, dass es sich in meinem Fall um 3 Domains handelt und dafür brauche ich einen Tarif für Multi-Domain Cert. :-(

Könnt Ihr mir bitte weiterhelfen? Warum hat die Erneurung über acme.sh nicht funktioniert?

Ich danke Euch im Voraus für die Unterstützung.

Viele Grüße
XuseX
 
Wie ist das Zertifikat ursprünglich entstanden? Und wieso liegt es bei ZeroSSL?
Um ein Zertifikat mit --renew zu erneuern, muss es auf dem gleichen System erstmal mit --issue entstanden sein.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: XuseX und Benie
Ich verwende bereits ein kostenloses Lets Encrypt für die DDNS .synology.me. Aus diesem Grund bin ich davon ausgegangen, dass ich kein weiteres über Acme.sh beziehen kann. Ist es korrekt?
 
Zuletzt bearbeitet:
Nein. Du kannst dir auch weitere Lets Encrypt Zertifikate erzeugen. Das ist nicht auf eins beschränkt
 
  • Like
Reaktionen: XuseX und Benie
Super, vielen Dank für die Infos. Dann werde ich es erneut mit Lets Encrypt versuchen und hier berichten. Ich bin von diesem Forum immer wieder begeistert! Einfach nur klasse!
 
Warum verwendet du zusätzlich zu deinem Wildcard-Zertifikat noch ein Zertifikat drive.example.de?
 
Das Wildcard-Zertifikat von Lets Encrypt benutze ich nur für die DDNS .synology.me. Mein Zeil war es, die DDNS .synology.me beim Erstellen von öffentlichen Links mit Synology Drive nicht zu offenbaren. Darum nutze ich eine Subdomain drive.example.de von meinem Hoster als eine benutzerdefinierte Domain. Diese Subdomain soll bei Freigabe-Links angezeigt werden. Darum brauchte ich für die drive.example.de ein weiteres Zertifikat.
 
  • Like
Reaktionen: Kachelkaiser
Ich danke Euch nochmal. Es hat funktioniert. Ich habe mit acme.sh ein neues LetsEncrypt Zertifikat für example.de und *example.de ausgestellt und das ZeroSSL Zertifikat durch dieses ersetzt. Alles super.

Würdet Ihr mir bitte mit dem Skript fürs Erneuern des LetsEncrypt Zertifikats mit acme.sh helfen?
Im Terminal müsste es mit diesem Befehl funktionieren, aber mir wäre es lieber, wenn es automatisch über DSM im Aufgabenplaner funktionieren würde.
acme.sh --renew -d example.de -d *example.de --force --ecc
 
Geh in den Aufgabenplaner, erstelle eine geplante Aufgabe vom Typ "Benutzerdefiniertes Skript". Unter "Aufgabeneinstellungen" setzt Du dann den Skriptaufruf in das Textfeld "Benutzerdefiniertes Skript" und legst unter "Zeitplan" fest, wann das Skript ausgeführt werden soll und in welchem Turnus.
 
  • Like
Reaktionen: XuseX
Normal brauchst du da keinen Befehl. Das macht amce automatisch. Und wenn du das doch machen, willst, lautet der Befehl für den Planer so (als root ausführen!):
docker exec acme.sh acme.sh --renew -d example.de -d *.example.de --force --ecc
Vorausgesetzt, dein Docker-Container heißt acme.sh

Und ACHTUNG!
Das ist kein Wildcard. Wildcard wäre *.example.de
 
  • Like
Reaktionen: XuseX
Wenn er es ohne Docker nutzt, dann erneuert er es nicht automatisch. Glaube das macht nur die Docker Version.
 
Ahja nach dem Eingangspost wird nicht die Docker-Variante verwendet. Dass das die "nicht-Docker" Version nicht automatisiert macht, wusste ich nicht.
Ich würde hier auf Docker setzen (falls möglich)
 

Additional post fields

 

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