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

Estrutura de Objetos do CloudFront

O objeto cloudfront configura a entrega via CloudFront para arquivos armazenados no S3. Ele é obrigatório quando fileStrategy ou qualquer entrada em fileStrategies utiliza "cloudfront".

Exemplo

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
domainStringDomínio de distribuição do CloudFront ou CNAME. Obrigatório.domain: "https://cdn.example.com"
distributionIdStringID da distribuição CloudFront. Obrigatório quando `invalidateOnDelete` for true.distributionId: "E1234ABCD"
invalidateOnDeleteBooleanCria uma invalidação do CloudFront após excluir o objeto S3. Padrão: false.invalidateOnDelete: false
imageSigningStringModo de assinatura de mídia inline. Opções: `"none"`, `"cookies"`, `"url"`. `"url"` está reservado e não implementado para imagens.imageSigning: "cookies"
urlExpiryNumberTempo de vida da URL de download assinada do CloudFront em segundos. Padrão: 3600.urlExpiry: 3600
cookieExpiryNumberTempo de vida do cookie assinado em segundos. Padrão: 1800. Máximo: 604800.cookieExpiry: 1800
cookieDomainStringDomínio pai compartilhado para cookies assinados. Obrigatório quando `imageSigning` for `"cookies"`. Deve começar com um ponto.cookieDomain: ".example.com"
storageRegionStringRótulo de região opcional usado em chaves de objeto geradas quando `includeRegionInPath` é true.storageRegion: "us-east-2"
includeRegionInPathBooleanInclui a região de armazenamento nas chaves de objeto recém-geradas. Padrão: false.includeRegionInPath: false
requireSignedAccessBooleanRequer acesso CloudFront com signed-cookie para inicializar com sucesso na inicialização. Padrão: false.requireSignedAccess: true

Regras de Validação

  • distributionId é obrigatório quando invalidateOnDelete é true.
  • cookieDomain é obrigatório quando imageSigning é "cookies".
  • cookieDomain deve começar com um ponto, por exemplo .example.com.
  • requireSignedAccess: true requer imageSigning: "cookies".
KeyTypeDescriptionExample
CLOUDFRONT_KEY_PAIR_IDStringID do par de chaves públicas do CloudFront. Obrigatório para cookies assinados e downloads assinados.# CLOUDFRONT_KEY_PAIR_ID=K1234567890ABC
CLOUDFRONT_PRIVATE_KEYStringChave privada PEM do CloudFront. Necessária para cookies assinados e downloads assinados.# CLOUDFRONT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----"

Para orientações de implantação, consulte CloudFront with S3.

Como está este guia?