なつねこメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ 書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

Cloudflare Images にアップロードした画像を自前のドメインから配信したい

Cloudflare Images を使うことで、ある程度予測可能な金額で、あらかじめ指定したサイズにて最適化された画像を配信することができる (クエリパラメータで制御することもできる)。

www.cloudflare.com

画像は下記のような URL で配信されるが、これを自前のドメインから配信したい。そのやり方のメモ。

https://imagedelivery.net/$ACCOUNT_HASH_ID/$IMAGE_ID/$VARIANT

といっても例によって公式ドキュメントがある:

developers.cloudflare.com

やり方としては:

  1. Cloudflare Dashboard から Rules → Transform Rules (日本語だとルール→変換ルール)
  2. Create Rule (ルールを作成)
  3. When incoming requests match.. に
    • Field: Host, Operator: Equals, Value: ドメイン名
    • Field: URI Path, Operator: StartsWith, Value: パス名
    • 式としては (http.host eq "ドメイン名" and starts_with(http.request.uri.path, "パス名"))
  4. Path に
    • Dynamic : concat("/cdn-cgi/imagedelivery/$ACCOUNT_HASH", substring(http.request.uri.path, オフセット))
    • オフセットはパス名の length

として適用することで、自前のドメインで配信することができる。 日本語では以下の画像の通りになる:

これで、

https://cdn.natsuneko.com/$IMAGE_ID/$VARIANT

から配信することができる。便利。ということでメモでした。