CloudFront 对象结构
cloudfront 对象用于配置存储在 S3 中的文件的 CloudFront 分发。当 fileStrategy 或任何 fileStrategies 条目使用 "cloudfront" 时,它是必需的。
示例
字段
| Key | Type | Description | Example |
|---|---|---|---|
| domain | String | CloudFront 分发域名或 CNAME。必填。 | domain: "https://cdn.example.com" |
| distributionId | String | CloudFront 分发 ID。当 `invalidateOnDelete` 为 true 时必填。 | distributionId: "E1234ABCD" |
| invalidateOnDelete | Boolean | 在删除 S3 对象后创建 CloudFront 失效请求。默认值:false。 | invalidateOnDelete: false |
| imageSigning | String | 内联媒体签名模式。选项:`"none"`、`"cookies"`、`"url"`。`"url"` 为预留选项,目前未针对图像实现。 | imageSigning: "cookies" |
| urlExpiry | Number | CloudFront 签名下载 URL 的有效期(秒)。默认值:3600。 | urlExpiry: 3600 |
| cookieExpiry | Number | 签名 cookie 的有效期(以秒为单位)。默认值:1800。最大值:604800。 | cookieExpiry: 1800 |
| cookieDomain | String | 用于签名 cookie 的共享父域。当 `imageSigning` 为 `"cookies"` 时必需。必须以点号开头。 | cookieDomain: ".example.com" |
| storageRegion | String | 当 `includeRegionInPath` 为 true 时,用于生成对象键的可选区域标签。 | storageRegion: "us-east-2" |
| includeRegionInPath | Boolean | 在新建的对象键中包含存储区域。默认值:false。 | includeRegionInPath: false |
| requireSignedAccess | Boolean | 需要在启动时成功初始化,需要 signed-cookie CloudFront 访问权限。默认值:false。 | requireSignedAccess: true |
验证规则
- 当
invalidateOnDelete为true时,distributionId是必需的。 - 当
imageSigning为"cookies"时,必须提供cookieDomain。 cookieDomain必须以点号开头,例如.example.com。requireSignedAccess: true需要imageSigning: "cookies"。
相关环境变量
| Key | Type | Description | Example |
|---|---|---|---|
| CLOUDFRONT_KEY_PAIR_ID | String | CloudFront 公钥对 ID。用于签名 Cookie 和签名下载,必填。 | # CLOUDFRONT_KEY_PAIR_ID=K1234567890ABC |
| CLOUDFRONT_PRIVATE_KEY | String | CloudFront 私钥 PEM。用于签名 Cookie 和签名下载,必填。 | # CLOUDFRONT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----" |
有关部署指南,请参阅 CloudFront with S3。
这篇指南怎么样?