CloudFront Nesne Yapısı
cloudfront nesnesi, S3'te depolanan dosyalar için CloudFront teslimatını yapılandırır. fileStrategy veya herhangi bir fileStrategies girdisi "cloudfront" kullandığında bu gereklidir.
Örnek
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: trueAlanlar
| Key | Type | Description | Example |
|---|---|---|---|
| domain | String | CloudFront dağıtım alanı adı veya CNAME. Gereklidir. | domain: "https://cdn.example.com" |
| distributionId | String | CloudFront dağıtım kimliği. `invalidateOnDelete` true olduğunda gereklidir. | distributionId: "E1234ABCD" |
| invalidateOnDelete | Boolean | S3 nesnesi silindikten sonra bir CloudFront geçersiz kılma işlemi oluşturur. Varsayılan: false. | invalidateOnDelete: false |
| imageSigning | String | Satır içi medya imzalama modu. Seçenekler: `"none"`, `"cookies"`, `"url"`. `"url"` ayrılmıştır ve görseller için uygulanmamıştır. | imageSigning: "cookies" |
| urlExpiry | Number | Saniye cinsinden imzalı CloudFront indirme URL'si ömrü. Varsayılan: 3600. | urlExpiry: 3600 |
| cookieExpiry | Number | İmzalı çerez ömrü (saniye cinsinden). Varsayılan: 1800. Maksimum: 604800. | cookieExpiry: 1800 |
| cookieDomain | String | İmzalı çerezler için paylaşılan üst alan adı. `imageSigning` değeri `"cookies"` olduğunda gereklidir. Bir nokta ile başlamalıdır. | cookieDomain: ".example.com" |
| storageRegion | String | `includeRegionInPath` true olduğunda oluşturulan nesne anahtarlarında kullanılan isteğe bağlı bölge etiketi. | storageRegion: "us-east-2" |
| includeRegionInPath | Boolean | Yeni oluşturulan nesne anahtarlarına depolama bölgesini dahil eder. Varsayılan: false. | includeRegionInPath: false |
| requireSignedAccess | Boolean | Başlangıçta başarıyla başlatılması için imzalı çerez CloudFront erişimi gerektirir. Varsayılan: false. | requireSignedAccess: true |
Doğrulama Kuralları
invalidateOnDeletedeğeritrueolduğundadistributionIdgereklidir.imageSigning"cookies"olarak ayarlandığındacookieDomaingereklidir.cookieDomainbir nokta ile başlamalıdır, örneğin.example.com.requireSignedAccess: trueayarı,imageSigning: "cookies"ayarını gerektirir.
İlgili Ortam Değişkenleri
| Key | Type | Description | Example |
|---|---|---|---|
| CLOUDFRONT_KEY_PAIR_ID | String | CloudFront ortak anahtar çifti kimliği. İmzalı çerezler ve imzalı indirmeler için gereklidir. | # CLOUDFRONT_KEY_PAIR_ID=K1234567890ABC |
| CLOUDFRONT_PRIVATE_KEY | String | CloudFront özel anahtarı PEM. İmzalı çerezler ve imzalı indirmeler için gereklidir. | # CLOUDFRONT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----" |
Dağıtım rehberliği için CloudFront with S3 bölümüne bakın.
Bu rehber nasıl?