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: truePola
| Key | Type | Description | Example |
|---|---|---|---|
| domain | String | Domena dystrybucji CloudFront lub CNAME. Wymagane. | domain: "https://cdn.example.com" |
| distributionId | String | Identyfikator dystrybucji CloudFront. Wymagany, gdy `invalidateOnDelete` ma wartość true. | distributionId: "E1234ABCD" |
| invalidateOnDelete | Boolean | Tworzy unieważnienie CloudFront po usunięciu obiektu S3. Domyślnie: false. | invalidateOnDelete: false |
| imageSigning | String | Tryb podpisywania mediów inline. Opcje: `"none"`, `"cookies"`, `"url"`. `"url"` jest zarezerwowane i niezaimplementowane dla obrazów. | imageSigning: "cookies" |
| urlExpiry | Number | Czas życia podpisanego adresu URL pobierania CloudFront w sekundach. Domyślnie: 3600. | urlExpiry: 3600 |
| cookieExpiry | Number | Czas życia podpisanego ciasteczka w sekundach. Domyślnie: 1800. Maksymalnie: 604800. | cookieExpiry: 1800 |
| cookieDomain | String | Współdzielona domena nadrzędna dla podpisanych plików cookie. Wymagana, gdy `imageSigning` ma wartość `"cookies"`. Musi zaczynać się od kropki. | cookieDomain: ".example.com" |
| storageRegion | String | Opcjonalna etykieta regionu używana w wygenerowanych kluczach obiektów, gdy `includeRegionInPath` ma wartość true. | storageRegion: "us-east-2" |
| includeRegionInPath | Boolean | Uwzględnia region przechowywania w nowo wygenerowanych kluczach obiektów. Domyślnie: false. | includeRegionInPath: false |
| requireSignedAccess | Boolean | Wymaga dostępu CloudFront z podpisanymi ciasteczkami (signed-cookie), aby pomyślnie zainicjować się podczas uruchamiania. Domyślnie: false. | requireSignedAccess: true |
Zasady walidacji
distributionIdjest wymagane, gdyinvalidateOnDeletema wartośćtrue.cookieDomainjest wymagane, gdyimageSigningma wartość"cookies".cookieDomainmusi zaczynać się od kropki, na przykład.example.com.requireSignedAccess: truewymagaimageSigning: "cookies".
Powiązane zmienne środowiskowe
| Key | Type | Description | Example |
|---|---|---|---|
| CLOUDFRONT_KEY_PAIR_ID | String | Identyfikator pary kluczy publicznych CloudFront. Wymagany dla podpisanych plików cookie i podpisanych pobrań. | # CLOUDFRONT_KEY_PAIR_ID=K1234567890ABC |
| CLOUDFRONT_PRIVATE_KEY | String | Prywatny 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?