AutoSSL
Implantar certificado

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âmetroDescriçãoExemplo
EndpointA 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 bucketO 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:

  1. 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) e fullchain.pem (cadeia completa).
    • Gera um arquivo README.md com metadados do certificado e um link para https://autossl.dev, para rastreabilidade.
    • Lê a data notBefore e 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>).
  2. 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 (e privkey.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 (e privkey.pem, chain.pem, fullchain.pem, README.md). Esse caminho sempre aponta para o certificado enviado por último.

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.md

Formato 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.pem

Requisitos da chave de acesso

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:PutObject no 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

SintomaPossível correção
Conexão recusada ou erro de DNSConfirme se a URL do endpoint está correta e se o AutoSSL consegue alcançá-la.
Acesso negadoConfira se a chave de acesso tem permissão PutObject no bucket.
Assinatura incompatívelTente outro valor de Região, o exigido pelo provedor.
Bucket não encontrado com endpoint personalizadoAtive Force Path Style (comum no MinIO).
Armazenamento compatível com S3 | AutoSSL