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ámetro | Descripción | Ejemplo |
|---|---|---|
| Endpoint | URL 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 bucket | Nombre 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:
-
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) yfullchain.pem(cadena completa). - Genera un archivo
README.mdcon los metadatos del certificado y un enlace a https://autossl.dev para la trazabilidad. - Lee la fecha
notBeforey la huella SHA1 del certificado para generar el nombre del directorio de archivo (formato:YYYY-MM-DD_<first 8 chars of SHA1>).
- Divide la cadena completa del certificado en archivos PEM individuales:
-
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(yprivkey.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(yprivkey.pem,chain.pem,fullchain.pem,README.md). Esta ruta siempre refleja el certificado cargado más recientemente.
- Ruta de archivo —
- Carga los archivos del certificado (cuatro archivos PEM y README.md) en dos rutas del bucket:
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.mdFormato 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.pemRequisitos de la clave de acceso
Este proveedor requiere credenciales de almacenamiento compatible con S3.
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:PutObjecten 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íntoma | Posible solución |
|---|---|
| Conexión rechazada o error de DNS | Compruebe que la URL del endpoint es correcta y que AutoSSL puede alcanzarla. |
| Acceso denegado | Compruebe que la clave de acceso tiene permiso PutObject en el bucket. |
| La firma no coincide | Pruebe otro valor de Región, el que exija su proveedor. |
| No se encuentra el bucket con un endpoint personalizado | Active Forzar estilo de ruta (habitual en MinIO). |