リモート画像を最適化するとき、変換後の画像のソースとして使えるオリジンを指定できます。デフォルトでは、Cloudflare は変換を配信するゾーン上のソース画像だけを受け付けます。
このページでは、最適化したいソース画像のオリジンを定義し、管理する方法を説明します。
Cloudflare ダッシュボードで Images > Transformations を開き、変換を配信するゾーンを選択します。
始めるには、ゾーンで変換を有効にする 必要があります。
Sources で、ゾーン上の変換に使うオリジンを設定できます。
ソース画像を allowed origins に制限すると、定義した一覧のソース画像にだけ変換が適用されます。
デフォルトでは、受け付けるソースは allowed origins です。Cloudflare は、変換を配信する同じゾーンのソース画像を常に許可します。
allowed origins の外にあるソース画像で変換をリクエストすると、その画像は拒否されます。たとえば、ゾーン a.com で変換を配信し、追加のオリジンを定義していない場合、a.com/image.png はソース画像として使えますが、b.com/image.png はエラーになります。
新しいオリジンを定義する手順は次のとおりです。
- Sources で Add origin を選択します。
- Domain に、ソース画像のドメインを指定します。有効な Web URL だけが受け付けられます。
ルートドメインを追加しても、サブドメインは受け付けられません。つまり b.com を追加しても、media.b.com のソース画像は拒否されます。
個別のサブドメインを許可するには、media.b.com のようなオリジンを追加します。media.b.com だけを追加してルートドメインを追加しない場合、ルートドメイン(b.com)やほかのサブドメイン(cdn.b.com)のソース画像は拒否されます。
すべてのサブドメインを許可するには、ルートドメインの先頭に * ワイルドカードを使います。たとえば *.b.com は、ルートドメイン(b.com/image.png など)とサブドメイン(media.b.com/image.png や cdn.b.com/image.png など)のソース画像を受け付けます。
- 任意で、ソース画像の Path を指定できます。パスを指定しない場合、このドメイン上のすべてのパスのソース画像が受け付けられます。
Cloudflare は、定義したパスがソースパスの先頭にあるかを確認します。定義したパスが先頭にない場合、ソース画像は拒否されます。
たとえば、ドメイン b.com とパス /themes のオリジンを定義すると、b.com/themes/image.png は受け付けられますが、b.com/media/themes/image.png は拒否されます。
- Add を選択します。オリジンが一覧の許可オリジンに表示されます。
- Save を選択します。変更はすぐに反映されます。
allowed origins を設定すると、チェックされるのはソース画像の最初の URL だけです。ゾーン外へ向かう URL を含むリダイレクトは追跡され、結果の画像が変換されます。
受け付けるソースを any origin に変更すると、ソース一覧はクリアされ、デフォルトに戻ります。
受け付けるソースを any origin にすると、公開されている任意の画像を、このゾーンの変換のソース画像として使えます。
Any origin はセキュリティが低く、第三者がこのゾーンで変換を配信できる場合があります。