AutoSSL
Desplegar certificado

Almacenamiento compatible con S3

Cómo desplegar automáticamente certificados SSL en cualquier bucket de almacenamiento de objetos compatible con S3.

Descripción general

AutoSSL puede cargar automáticamente los archivos del certificado SSL en cualquier bucket de almacenamiento de objetos compatible con S3. Usted indica un endpoint HTTPS personalizado y el nombre del bucket, de modo que este proveedor sirve para MinIO, Wasabi, Ceph y otros servicios compatibles con S3 que no tienen un proveedor dedicado.

Cada certificado se archiva en una ruta versionada y también se actualiza en una ruta latest/, para que los consumidores posteriores (por ejemplo, Nginx, Caddy o scripts personalizados que obtienen certificados del almacenamiento de objetos) lo encuentren con facilidad.

Para gestionar y ejecutar este despliegue, consulte la sección Gestión de despliegues.

Parámetros de configuración

Al añadir o editar este destino de despliegue en la consola de AutoSSL, configure estos parámetros:

ParámetroDescripciónEjemplo
EndpointURL HTTPS de la API compatible con S3. Los endpoints HTTP no son compatibles.https://minio.example.com
Región(Opcional) Región usada para firmar las solicitudes. El valor predeterminado es us-east-1. Use el valor que exija su proveedor.us-east-1
Nombre del bucketNombre del bucket en el que se cargarán los archivos del certificado.my-ssl-certs
Prefijo de la clave de objeto(Opcional) Prefijo para organizar los archivos del certificado en el bucket. Si se indica, los archivos se cargan bajo ese prefijo. La barra final es opcional.certs/example.com/
Forzar estilo de ruta(Opcional) Habilita las URL con estilo de ruta (https://endpoint/bucket/key). Actívelo para MinIO y algunos servicios compatibles con S3 autoalojados.true (para MinIO)

El endpoint debe usar HTTPS. AutoSSL rechazará los endpoints HTTP por motivos de seguridad.

Cómo funciona

Cuando AutoSSL despliega un certificado en un bucket compatible con S3 (por ejemplo, my-ssl-certs con el prefijo certs/example.com/), realiza estos pasos:

  1. Preparación del certificado:

    • Divide la cadena completa del certificado en archivos PEM individuales: cert.pem (certificado hoja), privkey.pem (clave privada, codificada en PKCS#8), chain.pem (cadena intermedia) y fullchain.pem (cadena completa).
    • Genera un archivo README.md con los metadatos del certificado y un enlace a https://autossl.dev para la trazabilidad.
    • Lee la fecha notBefore y la huella SHA1 del certificado para generar el nombre del directorio de archivo (formato: YYYY-MM-DD_<first 8 chars of SHA1>).
  2. Carga de archivos:

    • Carga los archivos del certificado (cuatro archivos PEM y README.md) en dos rutas del bucket:
      • Ruta de archivo — certs/example.com/2026-05-30_e5f6a7b8/cert.pem (y privkey.pem, chain.pem, fullchain.pem, README.md). Esta ruta es única para cada emisión y nunca se sobrescribe.
      • Ruta latest — certs/example.com/latest/cert.pem (y privkey.pem, chain.pem, fullchain.pem, README.md). Esta ruta siempre refleja el certificado cargado más recientemente.

La ruta latest/ permite que los servicios posteriores obtengan siempre el certificado actual desde una clave de objeto fija. Los certificados anteriores siguen disponibles en sus directorios de archivo versionados.

Ejemplo de estructura del bucket

Después de varias renovaciones, la estructura del bucket tendrá este aspecto:

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 de clave privada

privkey.pem está codificado en formato PKCS#8 (-----BEGIN PRIVATE KEY-----). Los servidores y las herramientas modernos (Nginx, Caddy, Traefik, OpenSSL 1.1+, etc.) admiten ampliamente este formato.

Si su entorno exige el formato PKCS#1 (por ejemplo, -----BEGIN RSA PRIVATE KEY----- para claves RSA), conviértalo en local antes de usarlo:

openssl rsa -in privkey.pem -out privkey-pkcs1.pem

Requisitos de la clave de acceso

Permisos necesarios

La clave de acceso debe tener permiso para cargar objetos en el bucket de destino. Como mínimo, se requiere esta acción de S3:

  • s3:PutObject en el bucket de destino (o en el prefijo del bucket)

En MinIO, conceda al usuario una política que permita s3:PutObject en el bucket de destino.

Solución de problemas

SíntomaPosible solución
Conexión rechazada o error de DNSCompruebe que la URL del endpoint es correcta y que AutoSSL puede alcanzarla.
Acceso denegadoCompruebe que la clave de acceso tiene permiso PutObject en el bucket.
La firma no coincidePruebe otro valor de Región, el que exija su proveedor.
No se encuentra el bucket con un endpoint personalizadoActive Forzar estilo de ruta (habitual en MinIO).
Almacenamiento compatible con S3 | AutoSSL