Este módulo amplía la funcionalidad de fs_attachment para soportar mejor el almacenamiento de Amazon S3. Incluye características como:
- Manejo especial de las cabeceras X-Accel-Redirect para los almacenamientos de S3.
- Opciones para usar URLs firmadas en X-Accel-Redirect. (Esto es necesario para poder servir archivos desde un bucket privado de S3 usando X-Accel-Redirect sin exponer los archivos públicamente).
- Forzar el mimetype de los archivos almacenados en S3.
Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.
auto_awesome Qué hace este módulo
Generado por IA a partir del código · Odoo 19.0Este módulo permite a Odoo almacenar archivos adjuntos en Amazon S3 y servirlos de forma segura mediante X-Accel-Redirect, con URLs firmadas opcionales y tipos de archivo forzados.
Este módulo amplía el sistema de almacenamiento de archivos para que los adjuntos puedan guardarse en un bucket compatible con S3. En el formulario de configuración de almacenamiento, cuando se activa la opción de servir URLs internas mediante X-Accel-Redirect y el protocolo se establece en S3, aparecen dos campos nuevos: uno para usar URLs firmadas para X-Accel-Redirect y otro para establecer el tiempo de expiración de la URL firmada en segundos (por defecto 30).
Cuando un adjunto se almacena en S3, el módulo establece automáticamente el tipo de contenido del archivo (tipo MIME) basándose en el mimetype del adjunto, lo que garantiza que los archivos se sirvan correctamente. También cambia la forma en que se construye la ruta de X-Accel-Redirect para los almacenamientos S3: en lugar de la ruta estándar, genera una ruta que incluye el esquema, el host y la ubicación del archivo de S3. Si las URLs firmadas están habilitadas, crea una URL prefirmada temporal para el archivo, lo que resulta útil para buckets privados que requieren autenticación.
El módulo no añade menús ni pantallas propias; solo añade campos al formulario de configuración de almacenamiento existente. Funciona con los modelos fs.storage y ir.attachment. Un script de post-migración comprueba que el módulo complementario fs_attachment_s3_environment esté disponible y lo instala si es necesario, para preservar los campos gestionados por el entorno en los almacenamientos.
Depende de
Lo necesitan otros módulos
Modelos y campos (2)
- fs.storage · amplía un modelo existentes3_signed_url_expiration (Signed URL Expiration (seconds)), s3_uses_signed_url_for_x_sendfile (Use signed URL for X-Accel-Redirect)
- ir.attachment · amplía un modelo existente
Texto generado por IA (DeepSeek) al leer el código de la versión 19.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub
Disponibilidad por versión
Revisado: 2026-11-03Estado de confirmación: 4 confirmadas, 5 sin información de 9 versiones.
Fuentes · Odoo 17.0
Confirmado el 2026-11-03 en la rama 17.0 de OCA/storage.
terminal Instalación y uso
Documentación de OCA · Odoo 19.0Configuración
Fuente · Odoo 19.0En la instancia de Odoo, ve a Settings > Technical > Storage > File Storage.
Cuando creas un nuevo almacenamiento para s3 o modificas uno existente, al activar la opción "Use X-Sendfile To Serve Internal Url", aparecerán 2 campos adicionales:
- S3 Uses Signed URL For X-Accel-Redirect: Si está marcada, la ruta X-Accel-Redirect será una URL firmada, lo cual es útil para almacenamientos S3 que requieren URLs firmadas para el acceso.
- S3 Signed URL Expiration: El tiempo de expiración de la URL firmada en segundos. Este campo solo es relevante si la opción anterior está marcada. Por defecto, está establecido en 30 segundos, pero podría ser menor, ya que la url generada en el proceso X-Accel-Redirect es utilizada directamente por el servidor web para servir el archivo.
El valor de estos campos también se puede establecer en las variables de entorno del servidor usando las claves:
- s3_uses_signed_url_for_x_sendfile
- s3_signed_url_expiration
Cuando la opción "Use X-Sendfile To Serve Internal Url" está habilitada, el sistema generará una cabecera X-Accel-Redirect en la respuesta a una solicitud para obtener un archivo. En el caso de almacenamientos S3, seguirá el formato:
X-Accel-Redirect: /fs_x_sendfile/{scheme}/{host}/{path with query if any}Donde:
{scheme}: El esquema de la URL (http o https).{host}: El host del almacenamiento S3.{path with query if any}: La ruta al archivo en el almacenamiento S3, incluyendo cualquier parámetro de consulta. (Los parámetros de consulta se establecen cuando la opcións3_uses_signed_url_for_x_sendfileestá habilitada.)
Para servir archivos usando X-Accel-Redirect, debes asegurarte de que tu servidor web esté configurado para manejar estas cabeceras correctamente. Esto normalmente implica configurar un bloque location en la configuración de tu servidor web que coincida con la ruta X-Accel-Redirect y redirija la solicitud al almacenamiento S3.
Por ejemplo, si estás usando Nginx, añadirías un bloque location como este:
location ~ ^/fs_x_sendfile/(.*?)/(.*?)/(.*) {
internal;
set $url_scheme $1;
set $url_host $2;
set $url_path $3;
set $url $url_scheme://$url_host/$url_path;
proxy_pass $url$is_args$args;
proxy_set_header Host $url_host;
proxy_ssl_server_name on;
}A diferencia de la implementación estándar de X-Accel-Redirect en almacenamientos que no son S3, la implementación de S3 no requiere que se establezca una URL base en la configuración del almacenamiento. La ruta X-Accel-Redirect se construye directamente a partir de la URL del almacenamiento S3 definida para la conexión, el nombre del directorio como nombre del bucket y la ruta del archivo.
Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen. Sin información verificada en OCA: Instalación, Uso.
Las instrucciones de instalación, el paquete de distribución, las dependencias y los pasos de configuración no se muestran porque todavía no se han verificado en la documentación del módulo para ninguna versión.
Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.