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

Struktura obiektów CloudFront

Obiekt cloudfront konfiguruje dostarczanie przez CloudFront plików przechowywanych w S3. Jest on wymagany, gdy fileStrategy lub jakikolwiek wpis fileStrategies używa "cloudfront".

Przykład

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

Pola

KeyTypeDescriptionExample
domainStringDomena dystrybucji CloudFront lub CNAME. Wymagane.domain: "https://cdn.example.com"
distributionIdStringIdentyfikator dystrybucji CloudFront. Wymagany, gdy `invalidateOnDelete` ma wartość true.distributionId: "E1234ABCD"
invalidateOnDeleteBooleanTworzy unieważnienie CloudFront po usunięciu obiektu S3. Domyślnie: false.invalidateOnDelete: false
imageSigningStringTryb podpisywania mediów inline. Opcje: `"none"`, `"cookies"`, `"url"`. `"url"` jest zarezerwowane i niezaimplementowane dla obrazów.imageSigning: "cookies"
urlExpiryNumberCzas życia podpisanego adresu URL pobierania CloudFront w sekundach. Domyślnie: 3600.urlExpiry: 3600
cookieExpiryNumberCzas życia podpisanego ciasteczka w sekundach. Domyślnie: 1800. Maksymalnie: 604800.cookieExpiry: 1800
cookieDomainStringWspółdzielona domena nadrzędna dla podpisanych plików cookie. Wymagana, gdy `imageSigning` ma wartość `"cookies"`. Musi zaczynać się od kropki.cookieDomain: ".example.com"
storageRegionStringOpcjonalna etykieta regionu używana w wygenerowanych kluczach obiektów, gdy `includeRegionInPath` ma wartość true.storageRegion: "us-east-2"
includeRegionInPathBooleanUwzględnia region przechowywania w nowo wygenerowanych kluczach obiektów. Domyślnie: false.includeRegionInPath: false
requireSignedAccessBooleanWymaga dostępu CloudFront z podpisanymi ciasteczkami (signed-cookie), aby pomyślnie zainicjować się podczas uruchamiania. Domyślnie: false.requireSignedAccess: true

Zasady walidacji

  • distributionId jest wymagane, gdy invalidateOnDelete ma wartość true.
  • cookieDomain jest wymagane, gdy imageSigning ma wartość "cookies".
  • cookieDomain musi zaczynać się od kropki, na przykład .example.com.
  • requireSignedAccess: true wymaga imageSigning: "cookies".
KeyTypeDescriptionExample
CLOUDFRONT_KEY_PAIR_IDStringIdentyfikator pary kluczy publicznych CloudFront. Wymagany dla podpisanych plików cookie i podpisanych pobrań.# CLOUDFRONT_KEY_PAIR_ID=K1234567890ABC
CLOUDFRONT_PRIVATE_KEYStringPrywatny klucz PEM dla CloudFront. Wymagany dla podpisanych plików cookie i podpisanych pobrań.# CLOUDFRONT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----"

Aby uzyskać wskazówki dotyczące wdrożenia, zobacz CloudFront with S3.

Jaka jest ta instrukcja?