Cloudflare Images を使うことで、ある程度予測可能な金額で、あらかじめ指定したサイズにて最適化された画像を配信することができる (クエリパラメータで制御することもできる)。
画像は下記のような URL で配信されるが、これを自前のドメインから配信したい。そのやり方のメモ。
https://imagedelivery.net/$ACCOUNT_HASH_ID/$IMAGE_ID/$VARIANT
といっても例によって公式ドキュメントがある:
やり方としては:
- Cloudflare Dashboard から Rules → Transform Rules (日本語だとルール→変換ルール)
- Create Rule (ルールを作成)
- 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, "パス名"))
- Field: Host, Operator: Equals, Value:
- Path に
Dynamic
:concat("/cdn-cgi/imagedelivery/$ACCOUNT_HASH", substring(http.request.uri.path, オフセット))
- オフセットはパス名の
length
として適用することで、自前のドメインで配信することができる。 日本語では以下の画像の通りになる:
これで、
https://cdn.natsuneko.com/$IMAGE_ID/$VARIANT
から配信することができる。便利。ということでメモでした。