node-s3-client
という名前のnpmパッケージを使用しています。これはNode.jsのaws-sdk
のハイレベルラッパーで、ローカルプロジェクトディレクトリをアップロードしますS3バケット。AWS S3にアップロードされているイメージの期限切れとキャッシュコントロールヘッダーの設定
このパッケージを使用して、ファイルにいくつかのメタデータ、つまりExpires
とCache-Control
のキー値のペアを渡します。 HTML、JS、CSS、JPEGファイルからなるディレクトリ全体をアップロードしています。しかし、私のS3バケットをチェックすると、私が設定しているヘッダはで、JSとCSSファイルにはしか適用されません。これらのヘッダはイメージには適用されません。
私はパッケージとaws-sdkのドキュメントを見てきましたが、一部のファイルにメタデータを選択的に適用し、他の人には適用しないという問題の原因を見つけることはできませんでした。
ここに私のconfigオブジェクトです:
const s3 = require('node-s3-client')
const s3Config= {
localDir: './dist',
deleteRemoved: false,
s3Params: {
Bucket: 'cdn',
Prefix: 'dist/',
Metadata: {
'Cache-Control': 'max-age=31536000',
'Expires': oneYearLater(new Date())
}
}
}
const client = s3.createClient({
s3Options: {
accessKeyId: KEY_ID,
secretAccessKey: ACCESS_KEY,
signatureVersion: 'v4',
region: 'us-east-2',
s3DisableBodySigning: true
}
})
client.uploadDir(s3Config)
この問題を引き起こしている可能性がありますか?