カスタムドメインから画像を配信する
画像配信は、同じCloudflareアカウントのすべての顧客ドメインからサポートされています。カスタムドメインを通じて画像を配信するには、画像URLを以下の形式に調整する必要があります。
https://example.com/cdn-cgi/imagedelivery/<ACCOUNT_HASH>/<IMAGE_ID>/<VARIANT_NAME>カスタムドメインの例:
https://example.com/cdn-cgi/imagedelivery/ZWd9g1K7eljCn_KDTu_MWA/083eb7b2-5392-4565-b69e-aff66acddd00/publicこの例では、<ACCOUNT_HASH>、<IMAGE_ID>、および<VARIANT_NAME>は同じですが、ホスト名とプレフィックスパスは異なります:
example.com: Cloudflare Imagesと同じアカウントのCloudflareプロキシドメイン。/cdn-cgi/imagedelivery:cdn-cgi画像プロキシをトリガーするためのパス。ZWd9g1K7eljCn_KDTu_MWA: Imagesアカウントハッシュ。これはCloudflare Imagesダッシュボードで見つけることができます。083eb7b2-5392-4565-b69e-aff66acddd00: 画像ID。public: バリアント名。
デフォルトでは、Imagesは/cdn-cgi/imagedelivery/パスから配信されます。Transform Rulesを使用してURLを書き換え、カスタムパスから画像を配信することができます。
無料およびProプランは、正規表現を必要としない文字列マッチングルールのみをサポートしています。
この例では、example.com/imagesからexample.com/cdn-cgi/imagedelivery/<ACCOUNT_HASH>へのリクエストを書き換えることができます。
ルールを作成するには:
- Cloudflareダッシュボード ↗にログインし、アカウントとウェブサイトを選択します。
- Rules > Transform Rulesを選択します。
- Create ruleを選択します。
- **When incoming requests match…**の下で、Edit expressionを選択します。
- テキストフィールドに
starts_with(http.request.uri.path, "/images")と入力します。 - Pathの下で、Rewrite toを選択します。
- Dynamicを選択し、テキストフィールドに以下を入力します。
concat( "/cdn-cgi/imagedelivery/<ACCOUNT_HASH>", substring(http.request.uri.path, 7))- 完了したらDeployを選択します。
この例では、example.com/images/some-image-id/w100,h300からexample.com/cdn-cgi/imagedelivery/<ACCOUNT_HASH>/some-image-id/width=100,height=300へのリクエストを書き換えることができ、Flexible variants機能がオンになっていると仮定します。
ルールを作成するには:
- Cloudflareダッシュボード ↗にログインし、アカウントとウェブサイトを選択します。
- Rules > Transform Rulesを選択します。
- Create ruleを選択します。
- **When incoming requests match…**の下で、Edit expressionを選択します。
- テキストフィールドに
(http.request.uri.path matches "^/images/.*$")と入力します。 - Pathの下で、Rewrite toを選択します。
- Dynamicを選択し、テキストフィールドに以下を入力します。
regex_replace( http.request.uri.path, "^/images/(.*)\\?w([0-9]+)&h([0-9]+)$", "/cdn-cgi/imagedelivery/<ACCOUNT_HASH>/${1}/width=${2},height=${3}")カスタムドメインを使用する場合、/cdn-cgi/imagedelivery/パスにヒットするリクエストに対して直接WAFルールを設定することはできません。WAFルールを設定する必要がある場合は、Cloudflare Workerを使用して画像にアクセスし、ドメインを使用してワーカーを実行するためのルートを作成できます。ワーカーの例については、署名付きURLトークンを使用してプライベート画像を配信するを参照してください。