S3 のオブジェクトごとに Cache-Control を設定する
S3 上のオブジェクトはオブジェクトごとに Cache-Control ヘッダの設定ができる。
やり方は簡単で、S3 の Web UI から対象のオブジェクトを選び、Properties
の Metadata
から Cache-Control
のキーを追加すれば良い。
キャッシュさせたくない場合は no-cache, no-store
、させたい場合は max-age=86400
などと指定すれば良い。
もちろん API や aws-cli からも設定できる。こちら ではバケットのすべてのオブジェクトの Cache-Control
を設定するワンライナーが紹介されていて便利だ。
その他には、[Bucket Explorer]() というサードパーティの S3 クライアントは バケットごとの Metadata
のデフォルト値が設定できるよう で、こちらも便利そうだ。
travis-ci の deploy
経由で S3 に上げる場合は、.travis.yml
の deploy
ディレクティブに cache_control
というキーを指定すれば設定できる。
deploy:
provider: s3
..
cache_control: "max-age=31536000"