Closed2

Cloudflare R2のバケット内のファイルをすべて強制キャッシュする

catnosecatnose

この記事を読んで、R2で(カスタムドメインを設定していても)音声ファイルはデフォルトでキャッシュされないことに気づいた。

https://blog.stin.ink/articles/pokemon-soundlibrary-cache-strategy

しずかなインターネットでは、ムード機能のBGMはassets.sizu.meという静的ファイル専用のR2バケットから配信しているが、確認してみるとたしかにwavファイルはキャッシュされていなかった。(R2エグレス料金がゼロなので特に問題はない)

とはいえ検証してみるとやはりCDNから配信した方がレスポンスが速いので、このバケットのファイルはすべて強制的にCDNおよびブラウザにキャッシュさせるように設定した。

catnosecatnose

設定内容

CloudflareのCache Rulesにおいて、以下のようなキャッシュ設定を追加した。

  • When incoming requests match…
    • Field: Hostname
    • Operator: equals
    • Value: assets.sizu.me
  • Then...
    • Eligible for cache
  • Edge TTL
    • Ignore cache-control header and use this TTL 1 month
  • Browser TTL
    • Override origin and use this TTL 7days
このスクラップは5ヶ月前にクローズされました