レスポンスに Cf-Resized ヘッダーはありますか?ない場合、リサイズは試行されていません。考えられる原因は次のとおりです。
- Cloudflare ダッシュボードで機能が有効になっていません。
- 同じリクエストで別の Worker が動いています。ある Worker が別の Worker を呼ぶと、リサイズは「忘れられます」。ドメイン全体
/*にスコープした Worker は使わないでください。 - Cloudflare ダッシュボードの Editor でのプレビューは、画像リサイズをシミュレートしません。Worker をデプロイし、別のブラウザータブからテストしてください。
リサイズに失敗すると、レスポンス本文に理由を説明するエラーメッセージと、err=code を含む Cf-Resized ヘッダーが入ります。
- 9401 —
{cf:image{…}}オプションに必要な引数がないか、無効です。もう一度試してください。対応している引数は Fetch options を参照してください。 - 9402 — 画像が大きすぎるか、接続が中断されました。詳細は 対応形式と制限 を参照してください。
- 9403 — 画像がすでにリサイズ済みであるか、Worker が自身の URL を取得したため、リクエストループ が発生しました。Worker のパスとサーバー上の画像パスが重なっていないことを確認してください。
- 9406 および 9419 — 画像 URL が HTTPS 以外であるか、URL にスペースまたはエスケープされていない Unicode があります。URL を確認してもう一度試してください。
- 9407 — オリジンサーバーのドメイン名の名前解決でエラーが発生しました。DNS 設定を確認してもう一度試してください。
- 9404 — オリジンサーバーに画像がないか、リサイズに使った URL が間違っています。画像の存在と URL を確認してください。
- 9408 — オリジンサーバーが HTTP 4xx ステータスコードを返し、画像へのアクセスを拒否している可能性があります。画像の設定を確認してもう一度試してください。
- 9509 — オリジンサーバーが HTTP 5xx ステータスコードを返しました。リサイズではなく、オリジンサーバー側のソフトウェアの問題である場合がほとんどです。
- 9412 — オリジンサーバーが画像以外(例: HTML ページ)を返しました。無効な URL を指定したときや、サーバー側ソフトウェアがエラーを出力したとき、ログインページを出したときに起きがちです。
- 9413 — 画像が最大画像面積の 100 メガピクセルを超えています。より小さい画像を使ってもう一度試してください。
- 9420 — オリジンサーバーが無効な URL へリダイレクトしました。オリジン側の設定を確認してもう一度試してください。
- 9421 — オリジンサーバーのリダイレクト回数が多すぎます。オリジン側の設定を確認してもう一度試してください。
- 9422 — 使用上限に達したため、変換リクエストが拒否されました。一意の変換を 5,000 件より多くリクエストする必要がある場合は、Images の有料プランへアップグレードしてください。
- 9432 — 旧料金体系では Images Binding を利用できません。アカウントは旧 Image Resizing サブスクリプションを使っています。Images を Worker にバインドするには、ダッシュボードでプランを Images サブスクリプションに更新する必要があります。
- 9504、9505、および 9510 — オリジンサーバーがダウンしているか過負荷のため、接続できませんでした。あとでもう一度試してください。
- 9523 —
/cdn-cgi/image/のリサイズサービスがリサイズを実行できませんでした。画像の形式が無効なときに起きることがあります。正しい形式の画像を使ってもう一度試してください。 - 9524 —
/cdn-cgi/image/のリサイズサービスがリサイズを実行できませんでした。画像 URL が Worker に横取りされるときに起きることがあります。代替として、Worker 内でリサイズ できます。Cloudflare Pages プロジェクトのpages.devURL を使っているときにも起きることがあります。その場合は、代わりに カスタムドメイン を使えます。 - 9520 — 画像形式に対応していません。対応している入力形式と出力形式は 対応形式と制限 を参照してください。
- 9522 — 画像が処理上限を超えました。ゾーン全体をパージした直後や、非常に大きな寸法のファイルをリクエストしたときに、一時的に起きることがあります。問題が続く場合はサポートに連絡してください。
- 9529 — 画像の処理中にタイムアウトしました。非常に大きな寸法のファイルをリクエストしたときや、サーバーが過負荷のときに起きることがあります。
- 9424、9516、9517、9518 — 内部エラーです。これらのエラーに遭遇した場合はサポートに連絡してください。
これらは、Images の外に保存されている画像の制限です。
- 最大画像サイズは 100 メガピクセルです(例: 10,000×10,000 ピクセル)。最大ファイルサイズは 100 メガバイト(MB)です。GIF/WebP アニメーションは、合計 50 メガピクセル(全フレームのサイズの合計)までに制限されます。
- Bring Your Own IP (BYOIP) は、リモート画像を最適化する(変換する)場合の Images とは互換性がありません。
- Polish が画像を最適化できない場合、レスポンスヘッダー
Warning: cf-images 299 "original is smaller"が返ります。
オリジンへの画像リクエストは匿名化されます(Cookie なし、認証なし、カスタムヘッダーなし)。リサイズ済み画像用の公開キャッシュが 1 つ必要であり、訪問者ごとにパーソナライズされた画像を共有するのは安全ではないためです。
ただし、そのような画像を公開キャッシュに置くことに同意する場合、Cloudflare は 認証済みオリジン 上で Workers 経由の画像リサイズに対応しています。
画像の寸法やその他のリサイズオプションの変更は、常にすぐ反映されます。パージは不要です。
画像リクエストは 2 つの部分で構成されます。Worker コードの実行と、画像処理です。Worker コードは常に実行され、キャッシュされません。画像処理の結果は 1 時間キャッシュされ、オリジンサーバーの Cache-Control ヘッダーが許せばそれ以上です。元画像は通常のキャッシュルールでキャッシュされます。リサイズは内部でリダイレクトをたどるため、リダイレクトもキャッシュされます。
Worker 自身からのレスポンスはエッジでキャッシュされないため、Worker の URL をパージしても効果はありません。リサイズ済み画像のバリアントは、元画像の URL の下にまとめてキャッシュされます。パージするときは、リサイズを依頼した Worker の URL ではなく、(フルサイズの)元画像の URL を使ってください。
オリジンサーバーが Etag HTTP ヘッダーを送る場合、リサイズ済み画像の Etag HTTP ヘッダーは cf-<gibberish>:<etag of the original image> の形式になります。後半を元画像 URL の Etag ヘッダーと比較すると、リサイズ済み画像が最新かどうかを確認できます。