Cấu trúc đối tượng CloudFront
Đối tượng cloudfront cấu hình việc phân phối qua CloudFront cho các tệp được lưu trữ trong S3. Đối tượng này là bắt buộc khi fileStrategy hoặc bất kỳ mục nào trong fileStrategies sử dụng "cloudfront".
Ví dụ
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: trueCác trường
| Key | Type | Description | Example |
|---|---|---|---|
| domain | String | Tên miền phân phối CloudFront hoặc CNAME. Bắt buộc. | domain: "https://cdn.example.com" |
| distributionId | String | ID phân phối CloudFront. Bắt buộc khi `invalidateOnDelete` là true. | distributionId: "E1234ABCD" |
| invalidateOnDelete | Boolean | Tạo một invalidation CloudFront sau khi xóa đối tượng S3. Mặc định: false. | invalidateOnDelete: false |
| imageSigning | String | Chế độ ký phương tiện nội dòng. Các tùy chọn: `"none"`, `"cookies"`, `"url"`. `"url"` được dành riêng và chưa được triển khai cho hình ảnh. | imageSigning: "cookies" |
| urlExpiry | Number | Thời hạn tính bằng giây của URL tải xuống CloudFront đã ký. Mặc định: 3600. | urlExpiry: 3600 |
| cookieExpiry | Number | Thời gian tồn tại của cookie đã ký tính bằng giây. Mặc định: 1800. Tối đa: 604800. | cookieExpiry: 1800 |
| cookieDomain | String | Tên miền cha dùng chung cho cookie đã ký. Bắt buộc khi `imageSigning` là `"cookies"`. Phải bắt đầu bằng một dấu chấm. | cookieDomain: ".example.com" |
| storageRegion | String | Nhãn vùng tùy chọn được sử dụng trong các khóa đối tượng được tạo khi `includeRegionInPath` là true. | storageRegion: "us-east-2" |
| includeRegionInPath | Boolean | Bao gồm vùng lưu trữ trong các khóa đối tượng mới được tạo. Mặc định: false. | includeRegionInPath: false |
| requireSignedAccess | Boolean | Yêu cầu quyền truy cập CloudFront bằng signed-cookie để khởi tạo thành công khi khởi động. Mặc định: false. | requireSignedAccess: true |
Các quy tắc xác thực
distributionIdlà bắt buộc khiinvalidateOnDeletelàtrue.cookieDomainlà bắt buộc khiimageSigninglà"cookies".cookieDomainphải bắt đầu bằng một dấu chấm, ví dụ:.example.com.requireSignedAccess: trueyêu cầuimageSigning: "cookies".
Các biến môi trường liên quan
| Key | Type | Description | Example |
|---|---|---|---|
| CLOUDFRONT_KEY_PAIR_ID | String | ID cặp khóa công khai CloudFront. Bắt buộc đối với cookie đã ký và tải xuống đã ký. | # CLOUDFRONT_KEY_PAIR_ID=K1234567890ABC |
| CLOUDFRONT_PRIVATE_KEY | String | Khóa riêng tư PEM của CloudFront. Bắt buộc đối với cookie đã ký và tải xuống đã ký. | # CLOUDFRONT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----" |
Để biết hướng dẫn triển khai, hãy xem CloudFront with S3.
Hướng dẫn này thế nào?