コンテンツにスキップ

トラブルシューティング

リサイズが有効でないリクエスト

レスポンスに Cf-Resized ヘッダーはありますか? ない場合、リサイズは試みられていません。考えられる原因:

  • Cloudflare ダッシュボードで機能が有効になっていません。
  • 同じリクエストで別の Worker が実行されています。1つの Worker が別の Worker を呼び出すと、リサイズは「忘れられます」。ドメイン全体 /* にスコープされた Worker を使用しないでください。
  • Cloudflare ダッシュボードのエディタでのプレビューは画像リサイズをシミュレートしません。Worker をデプロイし、別のブラウザタブからテストする必要があります。

リサイズからのエラーレスポンス

リサイズが失敗した場合、レスポンスボディには理由を説明するエラーメッセージと、err=code を含む Cf-Resized ヘッダーが含まれます:

  • 9401 — {cf:image{…}} オプションに必要な引数が欠落しているか無効です。再試行してください。Fetch options を参照して、サポートされている引数を確認してください。
  • 9402 — 画像が大きすぎるか、接続が中断されました。Supported formats and limitations を参照して、詳細情報を確認してください。
  • 9403 — 画像がすでにリサイズされているか、Worker が自分の URL を取得したため、request loop が発生しました。Worker パスとサーバー上の画像パスが重複しないことを確認してください。
  • 9406 & 9419 — 画像 URL が非 HTTPS URL であるか、URL にスペースやエスケープされていない Unicode が含まれています。URL を確認し、再試行してください。
  • 9407 — オリジンサーバーのドメイン名でルックアップエラーが発生しました。DNS 設定を確認し、再試行してください。
  • 9404 — オリジンサーバーに画像が存在しないか、画像をリサイズするために使用された URL が間違っています。画像が存在することを確認し、URL を確認してください。
  • 9408 — オリジンサーバーが HTTP 4xx ステータスコードを返し、画像へのアクセスを拒否している可能性があります。画像設定を確認し、再試行してください。
  • 9509 — オリジンサーバーが HTTP 5xx ステータスコードを返しました。これは、リサイズではなく、オリジンサーバー側のソフトウェアの問題である可能性が高いです。
  • 9412 — オリジンサーバーが非画像(例:HTML ページ)を返しました。これは通常、無効な URL が指定された場合や、サーバー側のソフトウェアがエラーを出力したり、ログインページを表示したりする場合に発生します。
  • 9413 — 画像が最大画像面積の 100 メガピクセルを超えています。より小さい画像を使用して再試行してください。
  • 9420 — オリジンサーバーが無効な URL にリダイレクトしました。オリジンの設定を確認し、再試行してください。
  • 9421 — オリジンサーバーが多くの回数リダイレクトしました。オリジンの設定を確認し、再試行してください。
  • 9504, 9505, & 9510 — オリジンサーバーに連絡できませんでした。オリジンサーバーがダウンしているか、過負荷の可能性があります。後で再試行してください。
  • 9523 — /cdn-cgi/image/ リサイズサービスがリサイズを実行できませんでした。これは、画像が無効な形式である場合に発生する可能性があります。正しい形式の画像を使用して再試行してください。
  • 9524 — /cdn-cgi/image/ リサイズサービスがリサイズを実行できませんでした。これは、画像 URL が Worker によってインターセプトされた場合に発生する可能性があります。代わりに、Worker 内でリサイズすることができます。また、Cloudflare Pages プロジェクトの pages.dev URL を使用している場合にも発生する可能性があります。その場合、Custom Domain を使用できます。
  • 9511 — 画像形式がサポートされていません。Supported formats and limitations を参照して、サポートされている入力および出力形式について学んでください。
  • 9522 — 画像が処理制限を超えました。これは、ゾーン全体をパージした直後や、非常に大きな寸法のファイルが要求された場合に一時的に発生する可能性があります。問題が続く場合は、サポートに連絡してください。
  • 9424, 9516, 9517, 9518, 9522 & 9523 — 内部エラー。これらのエラーが発生した場合は、サポートに連絡してください。

制限

  • 最大画像サイズは 100 メガピクセル(つまり、10,000×10,000 ピクセル)です。最大ファイルサイズは 100 MB です。GIF/WebP アニメーションは合計 50 メガピクセルに制限されています(すべてのフレームのサイズの合計)。
  • 画像リサイズは Bringing Your Own IPs (BYOIP) と互換性がありません。

認証とクッキーはサポートされていません

オリジンへの画像リクエストは匿名化されます(クッキーなし、認証なし、カスタムヘッダーなし)。これは、リサイズされた画像のために1つの公開キャッシュを持つ必要があり、個々の訪問者向けにパーソナライズされた画像を共有することは安全ではないためです。

ただし、顧客がそのような画像を公開キャッシュに保存することに同意する場合、Cloudflare は authenticated origins を通じて Worker による画像リサイズをサポートします。


キャッシングとパージ

画像の寸法やその他のリサイズオプションの変更は常に即座に適用されます — パージは必要ありません。

画像リクエストは2つの部分で構成されています:Worker コードの実行と画像処理。Worker コードは常に実行され、キャッシュされません。画像処理の結果は、オリジンサーバーの Cache-Control ヘッダーが許可する場合、1時間以上キャッシュされます。ソース画像は通常のキャッシングルールを使用してキャッシュされます。リサイズは内部でリダイレクトを追跡するため、リダイレクトもキャッシュされます。

Worker 自体からのレスポンスはエッジでキャッシュされないため、Worker URLs のパージは何も効果がありません。リサイズされた画像のバリアントは、そのソースの URL の下で一緒にキャッシュされます。パージする際は、リサイズを要求した Worker の URL ではなく、(フルサイズの)ソース画像の URL を使用してください。

オリジンサーバーが Etag HTTP ヘッダーを送信した場合、リサイズされた画像には cf-<gibberish>:<etag of the original image> という形式の Etag HTTP ヘッダーが付与されます。リサイズされた画像が最新であるかどうかを確認するには、2番目の部分をソース画像 URL の Etag ヘッダーと比較できます。