Estrutura de Objetos do CloudFront
O objeto cloudfront configura a entrega via CloudFront para arquivos armazenados no S3. Ele é obrigatório quando fileStrategy ou qualquer entrada em fileStrategies utiliza "cloudfront".
Exemplo
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: trueCampos
| Key | Type | Description | Example |
|---|---|---|---|
| domain | String | Domínio de distribuição do CloudFront ou CNAME. Obrigatório. | domain: "https://cdn.example.com" |
| distributionId | String | ID da distribuição CloudFront. Obrigatório quando `invalidateOnDelete` for true. | distributionId: "E1234ABCD" |
| invalidateOnDelete | Boolean | Cria uma invalidação do CloudFront após excluir o objeto S3. Padrão: false. | invalidateOnDelete: false |
| imageSigning | String | Modo de assinatura de mídia inline. Opções: `"none"`, `"cookies"`, `"url"`. `"url"` está reservado e não implementado para imagens. | imageSigning: "cookies" |
| urlExpiry | Number | Tempo de vida da URL de download assinada do CloudFront em segundos. Padrão: 3600. | urlExpiry: 3600 |
| cookieExpiry | Number | Tempo de vida do cookie assinado em segundos. Padrão: 1800. Máximo: 604800. | cookieExpiry: 1800 |
| cookieDomain | String | Domínio pai compartilhado para cookies assinados. Obrigatório quando `imageSigning` for `"cookies"`. Deve começar com um ponto. | cookieDomain: ".example.com" |
| storageRegion | String | Rótulo de região opcional usado em chaves de objeto geradas quando `includeRegionInPath` é true. | storageRegion: "us-east-2" |
| includeRegionInPath | Boolean | Inclui a região de armazenamento nas chaves de objeto recém-geradas. Padrão: false. | includeRegionInPath: false |
| requireSignedAccess | Boolean | Requer acesso CloudFront com signed-cookie para inicializar com sucesso na inicialização. Padrão: false. | requireSignedAccess: true |
Regras de Validação
distributionIdé obrigatório quandoinvalidateOnDeleteétrue.cookieDomainé obrigatório quandoimageSigningé"cookies".cookieDomaindeve começar com um ponto, por exemplo.example.com.requireSignedAccess: truerequerimageSigning: "cookies".
Variáveis de Ambiente Relacionadas
| Key | Type | Description | Example |
|---|---|---|---|
| CLOUDFRONT_KEY_PAIR_ID | String | ID do par de chaves públicas do CloudFront. Obrigatório para cookies assinados e downloads assinados. | # CLOUDFRONT_KEY_PAIR_ID=K1234567890ABC |
| CLOUDFRONT_PRIVATE_KEY | String | Chave privada PEM do CloudFront. Necessária para cookies assinados e downloads assinados. | # CLOUDFRONT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----" |
Para orientações de implantação, consulte CloudFront with S3.
Como está este guia?