Armazenamento compatível com S3
Como implantar automaticamente certificados SSL em qualquer bucket de armazenamento de objetos compatível com S3.
Visão geral
O AutoSSL pode enviar automaticamente arquivos de certificado SSL para qualquer bucket de armazenamento de objetos compatível com S3. Você informa um endpoint HTTPS e o nome do bucket. Esse provedor serve para MinIO, Wasabi, Ceph e outros serviços compatíveis com S3 que não têm um provedor dedicado.
Cada certificado fica arquivado em um caminho versionado e também é atualizado em um caminho latest/, para quem consome os arquivos (por exemplo, Nginx, Caddy ou scripts que baixam certificados do armazenamento de objetos) encontrar a versão atual com facilidade.
Para gerenciar e executar esta implantação, consulte Gerenciamento de implantações.
Parâmetros de configuração
Ao adicionar ou editar este alvo no console do AutoSSL, configure os parâmetros abaixo:
| Parâmetro | Descrição | Exemplo |
|---|---|---|
| Endpoint | A URL HTTPS da API compatível com S3. Endpoints HTTP não têm suporte. | https://minio.example.com |
| Região | (Opcional) Região usada para assinar a solicitação. O padrão é us-east-1. Use o valor exigido pelo provedor. | us-east-1 |
| Nome do bucket | O nome do bucket para o qual os arquivos de certificado serão enviados. | my-ssl-certs |
| Prefixo da chave do objeto | (Opcional) Prefixo para organizar os arquivos de certificado no bucket. Se informado, os arquivos ficam sob esse prefixo. A barra final é opcional. | certs/example.com/ |
| Force Path Style | (Opcional) Usa URLs no estilo de caminho (https://endpoint/bucket/key). Ative no MinIO e em alguns serviços compatíveis com S3 auto-hospedados. | true (no MinIO) |
O endpoint precisa usar HTTPS. O AutoSSL rejeita endpoints HTTP por motivos de segurança.
Como funciona
Quando o AutoSSL implanta um certificado em um bucket compatível com S3 (por exemplo, my-ssl-certs com o prefixo certs/example.com/), ele faz o seguinte:
-
Preparação do certificado:
- Separa a cadeia completa em arquivos PEM individuais:
cert.pem(certificado folha),privkey.pem(chave privada, codificada em PKCS#8),chain.pem(cadeia intermediária) efullchain.pem(cadeia completa). - Gera um arquivo
README.mdcom metadados do certificado e um link para https://autossl.dev, para rastreabilidade. - Lê a data
notBeforee a impressão digital SHA1 do certificado para montar o nome do diretório de arquivo (formato:YYYY-MM-DD_<first 8 chars of SHA1>).
- Separa a cadeia completa em arquivos PEM individuais:
-
Envio dos arquivos:
- Envia os arquivos de certificado (quatro arquivos PEM e o README.md) para dois caminhos no bucket:
- Caminho de arquivo —
certs/example.com/2026-05-30_e5f6a7b8/cert.pem(eprivkey.pem,chain.pem,fullchain.pem,README.md). Esse caminho é único para cada emissão e nunca é sobrescrito. - Caminho latest —
certs/example.com/latest/cert.pem(eprivkey.pem,chain.pem,fullchain.pem,README.md). Esse caminho sempre aponta para o certificado enviado por último.
- Caminho de arquivo —
- Envia os arquivos de certificado (quatro arquivos PEM e o README.md) para dois caminhos no bucket:
O caminho latest/ permite que os serviços seguintes busquem sempre o
certificado atual em uma chave de objeto fixa. Os certificados anteriores
continuam disponíveis nos diretórios versionados.
Exemplo de estrutura do bucket
Depois de várias renovações, a estrutura do bucket fica assim:
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.mdFormato da chave privada
privkey.pem usa o formato PKCS#8 (-----BEGIN PRIVATE KEY-----). Servidores e ferramentas modernos aceitam esse formato (Nginx, Caddy, Traefik, OpenSSL 1.1+ e outros).
Se o ambiente exigir PKCS#1 (por exemplo, -----BEGIN RSA PRIVATE KEY----- para chaves RSA), converta localmente antes de usar:
openssl rsa -in privkey.pem -out privkey-pkcs1.pemRequisitos da chave de acesso
Este provedor exige credenciais de armazenamento compatível com S3.
Permissões necessárias
A chave de acesso precisa ter permissão para enviar objetos ao bucket de destino. No mínimo, esta ação S3 é necessária:
s3:PutObjectno bucket de destino (ou no prefixo do bucket)
No MinIO, conceda ao usuário uma política que permita s3:PutObject no bucket de destino.
Solução de problemas
| Sintoma | Possível correção |
|---|---|
| Conexão recusada ou erro de DNS | Confirme se a URL do endpoint está correta e se o AutoSSL consegue alcançá-la. |
| Acesso negado | Confira se a chave de acesso tem permissão PutObject no bucket. |
| Assinatura incompatível | Tente outro valor de Região, o exigido pelo provedor. |
| Bucket não encontrado com endpoint personalizado | Ative Force Path Style (comum no MinIO). |