S3-kompatibler Speicher
So stellen Sie SSL-Zertifikate automatisch in einem beliebigen S3-kompatiblen Objektspeicher bereit.
Übersicht
AutoSSL kann SSL-Zertifikatsdateien automatisch in einen beliebigen S3-kompatiblen Objektspeicher hochladen. Sie geben einen eigenen HTTPS-Endpunkt und den Bucket-Namen an. Der Anbieter eignet sich für MinIO, Wasabi, Ceph und andere S3-kompatible Dienste, für die es keinen eigenen Anbieter gibt.
Jedes Zertifikat wird unter einem versionierten Archivpfad abgelegt und zusätzlich unter einem Pfad latest/ aktualisiert. Nachgelagerte Systeme, zum Beispiel Nginx, Caddy oder eigene Skripte, können das aktuelle Zertifikat so leicht aus dem Objektspeicher beziehen.
Wie Sie diese Bereitstellung verwalten und ausführen, steht im Abschnitt Bereitstellungen verwalten.
Konfigurationsparameter
Wenn Sie dieses Bereitstellungsziel in der AutoSSL-Konsole hinzufügen oder bearbeiten, konfigurieren Sie die folgenden Parameter:
| Parameter | Beschreibung | Beispiel |
|---|---|---|
| Endpunkt | HTTPS-URL der S3-kompatiblen API. HTTP-Endpunkte werden nicht unterstützt. | https://minio.example.com |
| Region | (Optional) Region für die Signatur der Anfrage. Standard ist us-east-1. Verwenden Sie den Wert, den Ihr Anbieter verlangt. | us-east-1 |
| Bucket-Name | Name des Buckets, in den die Zertifikatsdateien hochgeladen werden. | my-ssl-certs |
| Objektpräfix | (Optional) Präfix zur Ablage der Zertifikatsdateien im Bucket. Wenn es gesetzt ist, werden die Dateien unter diesem Präfix hochgeladen. Ein abschließender Schrägstrich ist optional. | certs/example.com/ |
| Pfadstil erzwingen | (Optional) Aktiviert Pfad-URLs (https://endpoint/bucket/key). Aktivieren Sie dies für MinIO und einige selbst gehostete S3-kompatible Dienste. | true (für MinIO) |
Der Endpunkt muss HTTPS verwenden. AutoSSL lehnt HTTP-Endpunkte aus Sicherheitsgründen ab.
Funktionsweise
Wenn AutoSSL ein Zertifikat in einen S3-kompatiblen Bucket bereitstellt, zum Beispiel my-ssl-certs mit dem Präfix certs/example.com/, führt es diese Schritte aus:
-
Zertifikat vorbereiten:
- Teilt die vollständige Zertifikatskette in einzelne PEM-Dateien auf:
cert.pem(Leaf-Zertifikat),privkey.pem(privater Schlüssel, PKCS#8),chain.pem(Zwischenzertifikate) undfullchain.pem(vollständige Kette). - Erstellt eine Datei
README.mdmit Metadaten des Zertifikats und einem Link zu https://autossl.dev zur Nachverfolgung. - Liest das Datum
notBeforeund den SHA1-Fingerabdruck und bildet daraus den Archivordner (Format:YYYY-MM-DD_<first 8 chars of SHA1>).
- Teilt die vollständige Zertifikatskette in einzelne PEM-Dateien auf:
-
Dateien hochladen:
- Lädt die Zertifikatsdateien (vier PEM-Dateien und README.md) an zwei Pfade im Bucket hoch:
- Archivpfad —
certs/example.com/2026-05-30_e5f6a7b8/cert.pem(sowieprivkey.pem,chain.pem,fullchain.pem,README.md). Dieser Pfad ist für jede Ausstellung eindeutig und wird nie überschrieben. - Pfad latest —
certs/example.com/latest/cert.pem(sowieprivkey.pem,chain.pem,fullchain.pem,README.md). Dieser Pfad enthält immer das zuletzt hochgeladene Zertifikat.
- Archivpfad —
- Lädt die Zertifikatsdateien (vier PEM-Dateien und README.md) an zwei Pfade im Bucket hoch:
Über den Pfad latest/ können nachgelagerte Dienste das aktuelle Zertifikat
immer unter einem festen Objektschlüssel abrufen. Ältere Zertifikate bleiben
in ihren versionierten Archivordnern verfügbar.
Beispiel für die Bucket-Struktur
Nach mehreren Verlängerungen sieht die Struktur des Buckets so aus:
certs/example.com/
├── 2026-03-01_a1b2c3d4/
│ ├── cert.pem
│ ├── privkey.pem
│ ├── chain.pem
│ ├── fullchain.pem
│ └── README.md
├── 2026-05-30_e5f6a7b8/
│ ├── cert.pem
│ ├── privkey.pem
│ ├── chain.pem
│ ├── fullchain.pem
│ └── README.md
└── latest/
├── cert.pem
├── privkey.pem
├── chain.pem
├── fullchain.pem
└── README.mdFormat des privaten Schlüssels
privkey.pem liegt im Format PKCS#8 vor (-----BEGIN PRIVATE KEY-----). Moderne Webserver und Werkzeuge unterstützen dieses Format, darunter Nginx, Caddy, Traefik und OpenSSL 1.1+.
Wenn Ihre Umgebung PKCS#1 benötigt, zum Beispiel -----BEGIN RSA PRIVATE KEY----- für RSA-Schlüssel, konvertieren Sie die Datei vor der Verwendung lokal:
openssl rsa -in privkey.pem -out privkey-pkcs1.pemAnforderungen an Zugriffsschlüssel
Dieser Anbieter benötigt Anmeldedaten für S3-kompatiblen Speicher.
Erforderliche Berechtigungen
Der Zugriffsschlüssel muss Objekte in den Ziel-Bucket hochladen dürfen. Mindestens diese S3-Aktion ist erforderlich:
s3:PutObjectfür den Ziel-Bucket (oder das Bucket-Präfix)
Gewähren Sie dem Benutzer bei MinIO eine Richtlinie, die s3:PutObject für den Ziel-Bucket erlaubt.
Fehlerbehebung
| Symptom | Mögliche Abhilfe |
|---|---|
| Verbindung abgelehnt oder DNS-Fehler | Prüfen Sie, ob die Endpunkt-URL korrekt ist und AutoSSL sie erreichen kann. |
| Zugriff verweigert | Prüfen Sie, ob der Zugriffsschlüssel die Berechtigung PutObject für den Bucket hat. |
| Signatur stimmt nicht überein | Versuchen Sie einen anderen Wert für Region, wie ihn Ihr Anbieter verlangt. |
| Bucket mit eigenem Endpunkt nicht gefunden | Aktivieren Sie Pfadstil erzwingen (üblich bei MinIO). |