Struktur Objek CloudFront
Objek cloudfront mengonfigurasi pengiriman CloudFront untuk file yang disimpan di S3. Objek ini diperlukan jika fileStrategy atau entri fileStrategies mana pun menggunakan "cloudfront".
Contoh
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: trueFields
| Key | Type | Description | Example |
|---|---|---|---|
| domain | String | Domain distribusi CloudFront atau CNAME. Wajib diisi. | domain: "https://cdn.example.com" |
| distributionId | String | ID distribusi CloudFront. Diperlukan saat `invalidateOnDelete` bernilai true. | distributionId: "E1234ABCD" |
| invalidateOnDelete | Boolean | Membuat invalidasi CloudFront setelah menghapus objek S3. Default: false. | invalidateOnDelete: false |
| imageSigning | String | Mode penandatanganan media inline. Opsi: `"none"`, `"cookies"`, `"url"`. `"url"` dicadangkan dan belum diimplementasikan untuk gambar. | imageSigning: "cookies" |
| urlExpiry | Number | Masa berlaku URL unduhan CloudFront yang ditandatangani dalam detik. Default: 3600. | urlExpiry: 3600 |
| cookieExpiry | Number | Masa berlaku cookie yang ditandatangani dalam detik. Default: 1800. Maksimum: 604800. | cookieExpiry: 1800 |
| cookieDomain | String | Domain induk bersama untuk cookie yang ditandatangani. Diperlukan saat `imageSigning` bernilai `"cookies"`. Harus diawali dengan titik. | cookieDomain: ".example.com" |
| storageRegion | String | Label wilayah opsional yang digunakan dalam kunci objek yang dihasilkan saat `includeRegionInPath` bernilai true. | storageRegion: "us-east-2" |
| includeRegionInPath | Boolean | Menyertakan wilayah penyimpanan dalam kunci objek yang baru dibuat. Default: false. | includeRegionInPath: false |
| requireSignedAccess | Boolean | Memerlukan akses CloudFront signed-cookie agar berhasil diinisialisasi saat startup. Default: false. | requireSignedAccess: true |
Aturan Validasi
distributionIddiperlukan jikainvalidateOnDeletebernilaitrue.cookieDomaindiperlukan saatimageSigningbernilai"cookies".cookieDomainharus diawali dengan titik, contohnya.example.com.requireSignedAccess: truememerlukanimageSigning: "cookies".
Variabel Lingkungan Terkait
| Key | Type | Description | Example |
|---|---|---|---|
| CLOUDFRONT_KEY_PAIR_ID | String | ID pasangan kunci publik CloudFront. Diperlukan untuk cookie bertanda tangan dan unduhan bertanda tangan. | # CLOUDFRONT_KEY_PAIR_ID=K1234567890ABC |
| CLOUDFRONT_PRIVATE_KEY | String | PEM kunci privat CloudFront. Diperlukan untuk cookie bertanda dan unduhan bertanda. | # CLOUDFRONT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----" |
Untuk panduan penyebaran, lihat CloudFront with S3.
Bagaimana panduan ini?