ACME & Let's Encrypt Konfiguration
Die Verwaltung von SSL-Zertifikaten in CrispyCMS erfolgt automatisiert durch die integrierte ACME-Konfiguration. Standardmäßig nutzt das System Let’s Encrypt für die reibungslose Bereitstellung und Aktualisierung Ihrer Zertifikate. Um Ihnen maximale Flexibilität bei der Einrichtung Ihrer Hosting-Umgebung zu bieten, können Sie die Konfiguration entweder intuitiv über die grafische Benutzeroberfläche vornehmen oder, besonders vorteilhaft für CI/CD-Pipelines, vollständig über Umgebungsvariablen steuern.
Konfiguration über das Dashboard
In der CrispyCMS-Verwaltungsoberfläche steht Ihnen ein detailliertes Formular zur Verfügung, um die ACME-Integration zu aktivieren und anzupassen. Jedes Feld in diesem Formular weist zudem darauf hin, dass es bei Bedarf durch eine entsprechende Umgebungsvariable überschrieben werden kann.
Zu den wichtigsten Einstellungen gehört die ACME-Verzeichnis-URL, welche standardmäßig auf die Let’s Encrypt API verweist, sowie Ihre Kontakt E-Mail, die für wichtige Benachrichtigungen bezüglich der Zertifikatsausstellung zwingend erforderlich ist. Weiterhin können Sie die ACME API-Domains und ACME Zusätzliche Frontend-Domains definieren, für die das Zertifikat ausgestellt werden soll. Für spezielle Setups, wie beispielsweise die Nutzung von ZeroSSL, lassen sich zudem Authentifizierungsdaten über ACME EAB KID und ACME EAB Secret hinterlegen. Abschließend können Sie den ACME Schlüsseltyp (z. B. P-256 ECDSA) festlegen, der für die Kontoerstellung verwendet wird.
Konfiguration über Environment Variables
Für serverbasierte oder containerisierte Umgebungen ist die Konfiguration über Umgebungsvariablen der direkteste Weg. Folgende Variablen können in Ihrer Serverumgebung oder .env-Datei gesetzt werden:
- ACME_ENABLED: Setzen Sie diesen Wert auf
true, um die ACME-Integration zu aktivieren. - ACME_EMAIL: Ihre Kontakt-E-Mail-Adresse für die Zertifikatsregistrierung.
- ACME_DIRECTORY_URL: Die Endpunkt-URL des gewünschten ACME-Verzeichnisses.
- ACME_API_DOMAINS: Eine kommagetrennte Liste der Domains, die für die API-Webserver-Konfiguration verwendet werden.
- ACME_FRONTEND_DOMAINS: Eine kommagetrennte Liste von zusätzlichen Domains, die für das Frontend genutzt werden sollen.
- ACME_EAB_KID & ACME_EAB_SECRET: Schlüssel und Geheimnis für das External Account Binding (EAB), notwendig bei einigen Anbietern wie ZeroSSL.
- ACME_KEY_TYPE: Der kryptografische Schlüsseltyp, standardmäßig auf
ec256gesetzt.
Sobald Sie Ihre Konfiguration angepasst haben, wird das neue oder aktualisierte Zertifikat automatisch bei der nächsten regulären Cronjob-Ausführung bereitgestellt. Der Zeitplan hierfür ist standardmäßig auf 15 0 * * * (täglich um 00:15 Uhr) festgelegt.
Wenn Sie die Änderungen sofort anwenden möchten, können Sie entweder den CrispyCMS-Container neu starten oder den folgenden Befehl direkt in Ihrer Konsole ausführen: crisp crispy:acme:deploy.