IBM Cloud Docs
400クラス・エラーのトラブルシューティング

400クラス・エラーのトラブルシューティング

4xxクラスのエラーコード・レスポンスは、クライアント側に問題があり、ネットワークに問題がある可能性がある場合に発生する。

  • 4xxコードは、どのリクエストメソッドに対する応答としても使用できる。
  • オリジンサーバーは、HEADリクエストを除いて、User-Agentによって表示されるべき説明を含むべきです。
  • カスタム・ルールは、サイト所有者がブロック・アクションを持つルールを作成し、カスタム・レスポンス・コードを設定した場合、HTMLページで400-499の範囲の任意のレスポンス・コードを返すことができます。

エラー400:不正なリクエスト

クライアントがサーバーに正しいリクエストを送信しなかった。 これは、不正なリクエスト構文、無効なリクエスト、メッセージフレーミン グ、不正なリクエストルーティングなどのクライアントエラーである。 例えば、リクエストに正しく URL エンコード(またはパーセントエンコード)されていない特殊文字が含まれている場合、 HTTP 400 エラーが返されます。

CIS API を使用中に HTTP エラーが発生した場合は、API コールで正しい構文、正しいパラメータ、正しいボディを使用していることを確認してください。

エラー 401: 認証されていません

リクエストが適切な認証情報なしで送信された。

エラー403禁止

もしCISブランディングなしで403エラーが表示されている場合、これはCIS、常にオリジンのウェブサーバーから直接返されます。 このエラーの主な原因は以下の通りである:

  • オリジンウェブサーバーで設定したパーミッションルール(Apache.htaccessなど)
  • Mod_セキュリティ・ルール
  • IP拒否ルール。 CISのIPレンジがブロックされていないか確認してください。

CIS は、リクエストがデフォルトのWAF管理ルールまたは特定のゾーンで有効になっているWAF管理ルールのいずれかに違反した場合、403応答を提供する。

解決策 403のレスポンスで、レスポンス・ボディに CIS のブランド名が含まれている場合は、セキュリティ機能とともに返される HTTP のレスポンス・コードです

  • WAFのカスタムルールまたは管理ルールにチャレンジまたはブロックアクションを追加
  • デフォルトで「中」に設定されているセキュリティレベル
  • ほとんどの1xxx CISエラーコード
  • ブラウザの整合性チェック

エラー404:見つかりません

オリジンサーバーは要求されたリソースを見つけることができなかったか、見つける意思がなかった。 これは通常、ホストサーバーがリソースを見つけられなかったことを意味する。 このエラーのより永続的なバージョンを提供するには、「410 エラーコードを使用する。

これらのエラーは通常、他のページからリンク切れがある場合に、誰かがあなたのサイトの URL をタイプミスしたとき、以前存在したページが移動または削除されたとき、または検索エンジンがサイトをインデックス化する際にエラーが発生したときに発生します。 一般的なサイトでは、このようなエラーはページビュー全体の約3%を占めるが、従来の分析プラットフォームでは追跡できないことが多い。

ウェブサイトの所有者は通常、このエラーが発生したときに提供されるカスタムページを実装する。

解決策 CISは、顧客のウェブサイトに対して'404 エラーを生成しません。CISはオリジンサーバからのリクエストをプロキシするだけです。 あなたのサイトに「404 表示されたら、ホスティング・プロバイダーに問い合わせてください。

エラー405:メソッドが許可されていません

オリジンサーバーはリクエストされたリソースを知っているが、リクエストメソッドがサポートされていない。

解決オリジンサーバーはまた、そのリソースでサポートされているターゲットの リストを含むAllowヘッダーを提供しなければならない。

エラー 406: 受け入れられません

サーバはリクエストのコンテントネゴシエーションヘッダで定義された 受け入れ可能な値のリストにマッチする応答を生成できず、 サーバはデフォルトの表現を提供したがらない。

解決方法このエラーを発生させる代わりに、あまり好ましくない方法をUser-Agentに提供することができます。

エラー407:認証が必要です

クライアントが要求された認証をリクエストとともに送信しなかった。

解決必要な認証を行ってリクエストを再試行する。

エラー408:リクエストタイムアウト

オリジンサーバーは、妥当な時間内に完全なリクエストを受信しなかった。 このエラーは、サーバーが待たずに接続を継続することを意味している。

解決サーバーは通常「close」接続オプションを使用するため、このエラーは一般的ではない。

エラー 409: コンフリクト

リソースの現在の状態と競合したため、リクエストは完了しませんでした。 このエラーは通常、複数のクライアントが同じリソースを編集しようとしている'PUT リクエストで発生する。

解決サーバーは、クライアントが衝突の原因を認識するのに十分な情報を含むペイロードを生成すべきである。 クライアントはリクエストを再試行することができるし、再試行すべきである。

CISは、'Error 1001: DNS Resolution Error に対して'409 レスポンスを生成して提供する。

エラー410:消えた

要求されたリソースがオリジンで永久に見つからない。

解決サーバーはリソースを参照するリンクを削除するよう提案しています。 サーバーは、'404 応答の代わりにこのステータスコードを使う資格はないし、特定の期間この応答を持つ必要もない。

エラー411:長さが必要です

クライアントはヘッダーでリクエストボディのContent-Lengthを定義しておらず、リソースを取得するためにこのパラメータが必要である。

解決クライアントは、ヘッダーフィールドを追加した後にリクエストを再送できる。

エラー 412:前提条件に失敗しました

リソースがクライアントによって指定された条件を満たせなかったので、サーバーはリクエストを拒否する。

バージョン管理の例として、クライアントが既存のリソースを変更する場合、 'If-Unmodified-Since ヘッダーを、クライアントがリソースをダウンロードして編集を開始した 日付と一致するように設定します。 リソースがこの日付以降、編集のアップロード前に(おそらく別のクライアントによって)編集された場合、最終編集の日付がクライアントによって'If-Unmodified-Since に設定された日付以降になるため、このレスポンスが生成されます。

Resolution CISは、このレスポンスを提供します。

エラー413:ペイロードが大きすぎる

クライアントから送信されたペイロードがサーバーの許容量を超えたため、サーバーがリクエストの処理を拒否した。 サーバーは接続を閉じることができる。

この拒否が一時的にしか起こらない場合、サーバーは、クライアントがいつ リクエストを再試行すべきかを指定するために、'Retry-After ヘッダーを送るべ きである。

CISのアップロード制限は、ご利用のプランによって異なります。 この制限を超えると、APIコールは'413 Request Entity Too Large エラーを受け取る。

| スタンダード|エンタープライズ |-|--------|----------| |可用性|はい|はい| |最大size|200 MB|500MB

解決方法より大きなアップロードが必要な場合は、リクエストを小分けにするか、DNSレコードをDNSのみに変更するか、プランをアップグレードしてください。

エラー414:URIが長すぎる

URIが長すぎて処理できないというサーバーからの拒否。 例えば、クライアントがPOSTの後に異常に長いURIで「GET リクエストを 試みた場合、これはセキュリティリスクと解釈され、「414 エラーが生成され る。

Resolution CISは、32KBより長いURIに対してこの応答を生成する。

エラー415:サポートされていないメディアタイプ

サーバーが現在のペイロードのフォーマットを処理することを拒否。 この問題を特定し修正する一つの方法は、クライアントのリクエストで送信される'Content-Type または'Content-Encoding ヘッダーを見ることである。

エラー416:範囲を満たせない

416 エラー応答コードは、サーバーが要求された範囲を提供できないことを示します。 以下に例を示します。

  • HTTP/1.1 416 Range Not Satisfiable
  • Content-Range: bytes */12777

解決策'416 エラーの最も一般的な原因は、ファイルにそのような範囲が含まれていないことである。 ブラウザは通常、ファイル全体を再度要求するか、操作を中止する。

エラー417:期待外れ

サーバーが、クライアントのリクエストの'Expect ヘッダーで指定された要件を満たすことができなかった。

エラー 429: リクエストが多すぎます

サーバーによると、クライアントは指定された時間内に多くのリクエストを送信しすぎた(しばしば「レート制限」と呼ばれる)。 サーバーは、リクエスタが特定の期間後にリクエストを再試行できるような情 報を応答するかもしれない。

CISAPIのグローバルレート制限は、1ユーザーあたり5分あたり1200リクエストです。API のグローバルレート制限は、1 ユーザーあたり 5 分間に 1200 リクエストで、ダッシュボード、API キー、API トークンのいずれからリクエストが行われたかに関係なく、累積的に適用されます。 この制限を超えると、その後5分間のすべてのAPIコールがブロックされ、「HTTP 429 レスポンスが返される。

一部の特定のAPIコールには独自の制限があり、キャッシュパージAPI、 GraphQL API、ルールセットAPIなど、個別に文書化されています。

解決策エンタープライズをご利用のお客様は、サポートに連絡して限度額を引き上げることができます。

CISは、リクエストがレート制限されているとき、 このステータスコードを生成して送る。 あなたのサイトへの訪問者がこれらのエラーコードを受信している場合は、レートリミッティングアナリティクスで確認することができます。

エラー451:法的理由により利用できません

法的措置のため、サーバーはリソースを配信できません。

通常、このレスポンスコードの影響を受けるのは、オリジンサーバーではなく、検索エンジンとISPである。 回答には、法的要求の詳細とともに、回答本文に説明を含めること。

エラー 499:クライアント終了リクエスト

エラー '499 はnginx固有のレスポンスコードで、サーバーがリクエストを処理中にクライアントによってコネクションが閉じられ、サーバーがステータスコードを送り返せなくなったことを示します。

このエラーはCISのログとステータスコード分析に表示されます。

CIS のパートナーであるCloudflareはnginxで構築されているため、 CIS がリクエストの処理を完了する前に切断される接続に関するCloudflareのログと分析には、499 HTTP のコードがあります。 クライアントが接続を閉じたときに、ログにこれらの情報が表示されるのは予想された動作である。

文脈を詳しく説明すると、上位プロトコルが「会話」を開始する前に、CISとウェブサイトのオリジン・サーバーの間にTCP接続が確立されていなければならない。 接続を確立するために、TCPは3ウェイ・ハンドシェイクを使用する:

  1. SYNCISは、オリジンサーバーに3つのSYNパケットを送信する。
  2. SYN+ACK:これに対して、オリジンサーバーはSYN+ACKで応答する。
  3. ACK: 最後に、CISはACKをオリジンサーバーに送り返す。

この時点で、CISとオリジン・サーバーの両方が接続の肯定応答を受け取っており、通信が確立されている。 しかし、オリジンサーバーが15秒以内にCISにSYN+ACKを送り返さなかった場合、CISはもう1回再試行する。

クライアント側のタイムアウト値によって、3つの異なるシナリオが発生し、それぞれのステータスコードが表示されるかもしれない。

  • クライアントのタイムアウトが短い場合(30秒未満)、クライアントは接続をあきらめ、CISは「499 エラーを記録する。
  • クライアント側でより高いタイムアウト値(30秒以上)が設定されている場合、TCP接続が確立された後、 HTTP トランザクションは継続します。 この場合、 CIS は HTTP 200 の通常のステータスコードを返します。
  • クライアントがより高いタイムアウトを持ち、CISがオリジンサーバとのTCPハンドシェイクを確立できなかった場合、CISは「HTTP 522 返す。