この Topic では、Alibaba Cloud Content Delivery Network (CDN) が返す 4xx および 5xx シリーズのステータスコード、その説明、およびエラーのトラブルシューティングに役立つ解決策について説明します。
4XX ステータスコード
4xx コードはクライアントの応答エラーを示します。
400
応答メッセージ: Bad Request
説明: このステータスコードは、リクエスト自体の問題により、クライアントがサーバーに送信したリクエストが理解または処理できなかったことを示します。
解決策: リクエストの入力パラメーターが有効かどうかを確認し、再試行してください。
401
応答メッセージ: Unauthorized
説明: このエラーは、リクエストが適切な認証資格情報なしで送信されたことを示します。サーバーはリクエストを処理するために認証を必要とします。
解決策: 有効な認証資格情報を含めるか、オリジンサーバーでリクエストを承認してから、再試行してください。
403
応答メッセージ: Forbidden
説明: このエラーは、クライアントのリクエストがサーバーによって理解されたものの、リクエストされたリソースにアクセスするための権限が不十分なために実行できないことを示します。
解決策: クライアントリクエストに権限を付与し、再試行してください。
404
応答メッセージ: Not Found
説明: このエラーは、オリジンサーバーがリクエストされたリソースを見つけられなかったことを示します。
解決策: リクエストパスを修正して再試行するか、サーバーの URL パスがインターネットからアクセス可能かどうかを確認してください。
405
応答メッセージ: Method Not Allowed
説明: このステータスコードは、オリジンサーバーがリクエストされたリソースを認識しているものの、リクエストで使用された HTTP メソッドをサポートしていないことを示します。
解決策: リクエストメソッドをオリジンサーバーがサポートするものに調整し、再試行してください。
406
応答メッセージ: Not Acceptable
説明: このステータスコードは、リクエストされたリソースが、クライアントによって指定されたコンテンツネゴシエーションヘッダー (たとえば、
Accept-CharsetやAccept-Language) に準拠したフォーマットで利用できないことを示します。解決策: リクエストヘッダーフィールドをオリジンサーバーがサポートするタイプに変更し、再試行してください。
407
応答メッセージ: Authentication Required
説明: このステータスコードは、クライアントがプロキシサーバー経由でリクエストされたリソースにアクセスするために必要な認証資格情報を提供しなかったことを示します。
解決策: プロキシオリジンサーバーの認証が期限切れになっていないか確認し、プロキシオリジンサーバーによって発行された正しい資格情報を含めて、再試行してください。
408
応答メッセージ: Request Timeout
説明: このステータスコードは、オリジンサーバーが妥当な時間内に完全なリクエストを受信せず、接続を待ち続けることを望まないことを示します。
解決策: オリジンサーバーの処理時間を延長するか、クライアントリクエストのパッケージサイズを小さくして、再試行してください。
409
応答メッセージ: Conflict
説明: このステータスコードは、ターゲットリソースの現在の状態との競合により、リクエストを完了できなかったことを示します。このエラーは、クライアントが 1 つのリソースを編集しようとする際の
PUTリクエストの応答で発生する可能性があります。解決策: 情報を更新して再送信するか、オリジンサーバーに競合処理メカニズムを追加して、再試行してください。
410
応答メッセージ: Gone
説明: リソースが意図的にかつ永続的に削除された場合、サーバーは 410 ステータスコードを使用して、リソースが利用できなくなったことをクライアントに通知します。
解決策: クライアントは削除されたリソースへの参照を削除し、再試行する必要があります。
411
応答メッセージ: Length Required
説明: このステータスコードは、クライアントがヘッダーでリクエストボディの
Content-Lengthを指定しておらず、リソースを取得するためにこの情報が必要であることを示します。解決策: クライアントのリクエストヘッダーに
Content-Lengthフィールドを含めて、再試行してください。長さを推定できない場合は、Transfer-Encoding: chunkedフィールドを含めてチャンク転送エンコーディングを定義できます。
412
応答メッセージ: Precondition Failed
説明: このステータスコードは、リソースがクライアントによって指定された条件を満たしていないため、サーバーがリクエストを拒否することを示します。
解決策: リクエストに有効な事前条件を含めて、再試行してください。
413
応答メッセージ: Payload Too Large
説明: このステータスコードは、クライアントから送信されたペイロードがサーバーの許容サイズ制限を超えているため、サーバーがリクエストの処理を拒否することを示します。
解決策: ファイルのアップロードサイズまたは送信データサイズを小さくして、再試行してください。
414
応答メッセージ: URI Too Long
説明: このステータスコードは、クライアントから提供された URI が長すぎるため、サーバーがリクエストの処理を拒否することを示します。
解決策: クライアントリクエストの URI の長さを短くするか、長いパラメーターを複数のプロセスに分割し、クライアント側で結果を集約します。
415
応答メッセージ: Unsupported Media Type
説明: このステータスコードは、ペイロードのフォーマットがサポートされていないため、サーバーがリクエストの処理を拒否することを示します。
解決策: リクエストヘッダーの
Content-Typeフィールドをサーバーがサポートするフォーマットに変更し、再試行してください。
416
応答メッセージ: Range Not Satisfiable
説明: このステータスコードは、サーバーがクライアントのリクエストの Range ヘッダーで指定された要求範囲を満たすことができないことを示します。
解決策:
Rangeリクエストヘッダーフィールドの範囲が有効かどうかを確認し、Rangeを修正して再試行してください。
417
応答メッセージ: Expectation Failed
説明: このステータスコードは、サーバーがクライアントのリクエストの
Expectヘッダーで指定された要件を満たせなかったことを示します。解決策: これはテスト中によく発生します。本番環境で発生した場合は、リクエストヘッダーの
Expectフィールドを無効にしてください。
429
応答メッセージ: Too Many Requests
説明: このステータスコードは、サーバーのレート制限ルールによって決定された、指定された時間内にクライアントが送信したリクエストが多すぎることを示します。
解決策: 単位時間あたりのリクエスト数がオリジンサーバーの制限を超えました。オリジンサーバーによって設定された再試行間隔の後に再試行してください。
499
応答メッセージ: Client Close Request
説明: このステータスコードは通常、サーバーが応答する前にクライアントが接続を終了したときに発生します。クライアントはエラーページを受信しないため、ページを定義する必要はありません。
5xx ステータスコード
500
理由: Internal Server Error
意味: 内部サーバーエラーが発生しました。
説明: これは、リクエストの実行を妨げるオリジンサーバーの問題を示します。
解決策: オリジンサーバーのログをチェックして、特定のエラーを見つけて解決できます。また、最後の安定バージョンにロールバックして、サービスを迅速に回復することもできます。
502
理由: Bad Gateway
意味: ゲートウェイエラーが発生しました。
説明: これは、CDN ノードがオリジンサーバーに接続できないことを示します。
解決策: オリジンサーバーが利用可能であることを確認し、そのファイアウォールルールが CDN ノードからのトラフィックを許可しているかどうかを確認できます。
503
理由: サービスが一時的に利用できません
意味: サービスは一時的に利用できません。
説明: これは、オリジンサーバーが過負荷であることを示します。
解決策: オリジンサーバーの負荷を確認し、負荷の高いアプリケーションプロセスを見つけることができます。その後、関連ツールを使用して問題を調査し、解決できます。
504
理由: Gateway Timeout
意味: ゲートウェイがタイムアウトしました。
説明: これは、ゲートウェイとして機能する CDN ノードが、オリジンサーバーからタイムリーな応答を受信しなかったことを示します。
解決策: オリジンサーバーが利用可能かどうかを確認するか、必要に応じてタイムアウト期間を延長できます。
508
理由: Loop Detected
意味: ループが検出されました。
説明: これは、CDN ノードによって転送されたリクエストが CDN ネットワークにリダイレクトされ、許可されるリダイレクトの最大数を超えるループが作成されたことを示します。
解決策: オリジンサーバーでループを確認し、ループに終了条件があり、正常に終了できることを確認できます。その後、リクエストを再試行できます。