部署憑證
S3 相容儲存
如何把 SSL 憑證自動部署到任意 S3 相容物件儲存貯體。
總覽
AutoSSL 可以把 SSL 憑證檔案自動上傳到任意 S3 相容物件儲存貯體。你需要提供自訂 HTTPS 端點和儲存貯體名稱,因此它適用於 MinIO、Wasabi、Ceph,以及其他沒有專用供應商的 S3 相容服務。
每張憑證都會寫入帶版本的歸檔路徑,並同步更新 latest/ 路徑,方便下游系統(例如 Nginx、Caddy,或從物件儲存擷取憑證的自訂指令碼)取得目前憑證。
如何管理和執行此部署,請參見 部署管理。
設定參數
在 AutoSSL 控制台新增或編輯此部署目標時,需要設定以下參數:
| 參數 | 說明 | 範例 |
|---|---|---|
| 端點 | S3 相容 API 的 HTTPS URL。不支援 HTTP 端點。 | https://minio.example.com |
| 區域 | (選填) 用於請求簽章的區域。預設是 us-east-1。請使用供應商要求的值。 | us-east-1 |
| 儲存貯體名稱 | 要上傳憑證檔案的儲存貯體名稱。 | my-ssl-certs |
| 物件金鑰字首 | (選填) 用於在儲存貯體中整理憑證檔案的字首。設定後,檔案會上傳到該字首下。末尾的斜槓可有可無。 | certs/example.com/ |
| 強制路徑樣式 | (選填) 啟用路徑樣式 URL(https://endpoint/bucket/key)。MinIO 和部分自建 S3 相容服務需要開啟。 | true(適用於 MinIO) |
端點必須使用 HTTPS。出於安全考慮,AutoSSL 會拒絕 HTTP 端點。
運作方式
AutoSSL 把憑證部署到 S3 相容儲存貯體(例如 my-ssl-certs(字首 certs/example.com/))時,會執行以下步驟:
-
準備憑證:
- 將完整憑證鏈拆成單獨的 PEM 檔案:
cert.pem(葉憑證)、privkey.pem(私密金鑰,PKCS#8 編碼)、chain.pem(中繼憑證鏈)和fullchain.pem(完整憑證鏈)。 - 產生包含憑證後設資料的
README.md,並附上 https://autossl.dev 連結,便於追溯。 - 解析憑證的
notBefore日期和 SHA1 指紋,產生歸檔目錄名(格式:YYYY-MM-DD_<first 8 chars of SHA1>)。
- 將完整憑證鏈拆成單獨的 PEM 檔案:
-
上傳檔案:
- 把憑證檔案(四個 PEM 檔案和 README.md)上傳到儲存貯體中的 兩個路徑:
- 歸檔路徑 —
certs/example.com/2026-05-30_e5f6a7b8/cert.pem(以及privkey.pem、chain.pem、fullchain.pem、README.md)。每次簽發都使用唯一路徑,不會被覆寫。 - 最新路徑 —
certs/example.com/latest/cert.pem(以及privkey.pem、chain.pem、fullchain.pem、README.md)。此路徑始終是最近一次上傳的憑證。
- 歸檔路徑 —
- 把憑證檔案(四個 PEM 檔案和 README.md)上傳到儲存貯體中的 兩個路徑:
下游服務可以透過固定的物件金鑰從 latest/ 路徑取得目前憑證。歷史憑證仍保留在各自的版本歸檔目錄中。
儲存貯體結構範例
多次續期後,儲存貯體結構類似這樣:
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.md私密金鑰格式
privkey.pem 使用 PKCS#8 格式(-----BEGIN PRIVATE KEY-----)。現代 Web 伺服器和工具(Nginx、Caddy、Traefik、OpenSSL 1.1+ 等)普遍支援此格式。
如果環境需要 PKCS#1 格式(例如 RSA 金鑰的 -----BEGIN RSA PRIVATE KEY-----),請在本地轉換後再使用:
openssl rsa -in privkey.pem -out privkey-pkcs1.pem存取金鑰需求
此供應商需要 S3 相容儲存認證。
所需權限
存取金鑰必須有權向目標儲存貯體上傳物件。至少需要以下 S3 操作:
- 對目標儲存貯體(或儲存貯體字首)的
s3:PutObject
對於 MinIO,請為使用者授予允許對目標儲存貯體執行 s3:PutObject 的政策。
故障排查
| 現象 | 可能的處理方式 |
|---|---|
| 連線被拒絕或 DNS 錯誤 | 確認端點 URL 正確,並且 AutoSSL 可以存取。 |
| 存取被拒絕 | 檢查存取金鑰是否擁有該儲存貯體的 PutObject 權限。 |
| 簽章不相符 | 按供應商要求嘗試其他 區域。 |
| 使用自訂端點時找不到儲存貯體 | 開啟 強制路徑樣式(MinIO 通常需要)。 |