Cloudflare R2
Comment déployer automatiquement des certificats SSL vers un bucket Cloudflare R2.
Vue d’ensemble
AutoSSL peut envoyer automatiquement les fichiers de certificat SSL vers un bucket Cloudflare R2. Chaque certificat est archivé dans un chemin versionné et mis à jour sous un chemin latest/, afin que les services en aval le trouvent facilement (par exemple Nginx, Caddy ou des scripts qui récupèrent les certificats depuis R2).
Cloudflare R2 est compatible S3 et ne facture pas de frais de sortie, ce qui en fait une solution peu coûteuse pour stocker et distribuer des certificats.
Pour gérer et lancer ce déploiement, consultez la section Gestion des déploiements.
Paramètres de configuration
Lorsque vous ajoutez ou modifiez cette cible de déploiement dans la console AutoSSL, renseignez les paramètres suivants :
| Paramètre | Description | Exemple |
|---|---|---|
| ID de compte | Votre ID de compte Cloudflare. Il figure dans l’URL du tableau de bord Cloudflare ou sur la page d’aperçu Workers & Pages. | a1b2c3d4e5f6... |
| Nom du bucket | Nom du bucket R2 vers lequel envoyer les fichiers de certificat. | my-ssl-certs |
| Préfixe de clé d’objet | (Facultatif) Préfixe pour ranger les fichiers de certificat dans le bucket. S’il est défini, les fichiers sont envoyés sous ce préfixe. La barre oblique finale est facultative. | certs/example.com/ |
Fonctionnement
Lorsque AutoSSL déploie un certificat vers un bucket Cloudflare R2 (par exemple my-ssl-certs, avec le préfixe certs/example.com/), il procède ainsi :
-
Préparation du certificat :
- Découpe la chaîne complète en fichiers PEM distincts :
cert.pem(certificat feuille),privkey.pem(clé privée encodée en PKCS#8),chain.pem(chaîne intermédiaire) etfullchain.pem(chaîne complète). - Génère un fichier
README.mdavec les métadonnées du certificat et un lien vers https://autossl.dev, pour pouvoir le retrouver. - Lit la date
notBeforeet l’empreinte SHA1 du certificat afin de nommer le répertoire d’archive (format :YYYY-MM-DD_<first 8 chars of SHA1>).
- Découpe la chaîne complète en fichiers PEM distincts :
-
Envoi des fichiers :
- Envoie les fichiers du certificat (quatre fichiers PEM et README.md) vers deux chemins dans le bucket :
- Chemin d’archive —
certs/example.com/2026-05-30_e5f6a7b8/cert.pem(ainsi queprivkey.pem,chain.pem,fullchain.pemetREADME.md). Ce chemin est propre à chaque émission et n’est jamais écrasé. - Chemin latest —
certs/example.com/latest/cert.pem(ainsi queprivkey.pem,chain.pem,fullchain.pemetREADME.md). Ce chemin correspond toujours au dernier certificat envoyé.
- Chemin d’archive —
- Envoie les fichiers du certificat (quatre fichiers PEM et README.md) vers deux chemins dans le bucket :
Le chemin latest/ permet aux services en aval de toujours récupérer le
certificat courant depuis une clé d’objet R2 fixe. Les certificats précédents restent
accessibles dans leurs répertoires d’archive versionnés.
Exemple de structure du bucket
Après plusieurs renouvellements, la structure ressemble à ceci :
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 de clé privée
privkey.pem est encodé au format PKCS#8 (-----BEGIN PRIVATE KEY-----). Les serveurs et outils récents le prennent en charge (Nginx, Caddy, Traefik, OpenSSL 1.1+, etc.).
Si votre environnement exige le format PKCS#1 (par exemple -----BEGIN RSA PRIVATE KEY----- pour une clé RSA), convertissez-le localement avant de l’utiliser :
openssl rsa -in privkey.pem -out privkey-pkcs1.pemClé d’accès requise
Pour appeler l’API Cloudflare R2, ce fournisseur exige une clé d’accès Cloudflare R2.
Autorisations requises
Le jeton d’API R2 doit disposer de l’autorisation Object Read & Write sur le bucket cible.
Pour créer un jeton d’API R2 avec les bonnes autorisations :
- Ouvrez le tableau de bord Cloudflare → R2 Object Storage → Manage R2 API Tokens.
- Cliquez sur Create API token.
- Réglez Permissions sur Object Read & Write.
- (Facultatif) Limitez le jeton à un bucket en réglant Specify bucket(s) sur le nom du bucket cible.
- Cliquez sur Create API Token, puis copiez l’Access Key ID et la Secret Access Key.
Pour en savoir plus, consultez la documentation des jetons d’API Cloudflare R2.