Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Estructura de objetos de CloudFront

El objeto cloudfront configura la entrega mediante CloudFront para los archivos almacenados en S3. Es obligatorio cuando fileStrategy o cualquier entrada de fileStrategies utiliza "cloudfront".

Ejemplo

fileStrategies:
  avatar: 'cloudfront'
  image: 'cloudfront'
  document: 's3'
 
cloudfront:
  domain: 'https://cdn.example.com'
  distributionId: 'E1234ABCD'
  invalidateOnDelete: false
  imageSigning: 'cookies'
  cookieDomain: '.example.com'
  cookieExpiry: 1800
  urlExpiry: 3600
  storageRegion: 'us-east-2'
  includeRegionInPath: false
  requireSignedAccess: true

Campos

KeyTypeDescriptionExample
domainStringDominio de distribución de CloudFront o CNAME. Requerido.domain: "https://cdn.example.com"
distributionIdStringID de distribución de CloudFront. Requerido cuando `invalidateOnDelete` es true.distributionId: "E1234ABCD"
invalidateOnDeleteBooleanCrea una invalidación de CloudFront después de eliminar el objeto de S3. Predeterminado: false.invalidateOnDelete: false
imageSigningStringModo de firma de medios en línea. Opciones: `"none"`, `"cookies"`, `"url"`. `"url"` está reservado y no implementado para imágenes.imageSigning: "cookies"
urlExpiryNumberTiempo de vida de la URL de descarga firmada de CloudFront en segundos. Predeterminado: 3600.urlExpiry: 3600
cookieExpiryNumberDuración de la cookie firmada en segundos. Predeterminado: 1800. Máximo: 604800.cookieExpiry: 1800
cookieDomainStringDominio principal compartido para cookies firmadas. Requerido cuando `imageSigning` es `"cookies"`. Debe comenzar con un punto.cookieDomain: ".example.com"
storageRegionStringEtiqueta de región opcional utilizada en las claves de objeto generadas cuando `includeRegionInPath` es true.storageRegion: "us-east-2"
includeRegionInPathBooleanIncluye la región de almacenamiento en las claves de objeto recién generadas. Predeterminado: false.includeRegionInPath: false
requireSignedAccessBooleanRequiere acceso a CloudFront mediante cookies firmadas para inicializarse correctamente al arrancar. Predeterminado: false.requireSignedAccess: true

Reglas de validación

  • distributionId es obligatorio cuando invalidateOnDelete es true.
  • cookieDomain es obligatorio cuando imageSigning es "cookies".
  • cookieDomain debe comenzar con un punto, por ejemplo .example.com.
  • requireSignedAccess: true requiere imageSigning: "cookies".
KeyTypeDescriptionExample
CLOUDFRONT_KEY_PAIR_IDStringID del par de claves públicas de CloudFront. Requerido para cookies firmadas y descargas firmadas.# CLOUDFRONT_KEY_PAIR_ID=K1234567890ABC
CLOUDFRONT_PRIVATE_KEYStringClave privada PEM de CloudFront. Requerida para cookies firmadas y descargas firmadas.# CLOUDFRONT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----"

Para obtener orientación sobre la implementación, consulte CloudFront with S3.

¿Qué te parece esta guía?