EdgeOneに接続した後、お客様のビジネスリクエストで4XX/5XXステータスコードが発生した場合、以下の一般的な原因と解決方法を参照してトラブルシューティングを行うことができます。
説明:
以下のトラブルシューティングガイドを参照しても問題を解決できない場合は、お問い合わせください。調査のため、EO-LOG-UUID情報を提供してください。ない場合は、以下の詳細情報を提供してください: ユーザーIP、EdgeOneノードIP。
特定の4XX、5XXエラーコードとメッセージ。
4XX、5XXエラーが発生した時刻とタイムゾーン。
HTTP 4XX、5XXエラーを引き起こすURL(例:https://www.example.com/images/icons/image1.png)。
HTTP 400
1. 意味:サーバーは、クライアントエラーと見なされる何らかの理由(例えば、リクエスト構文エラー、無効なリクエストメッセージ形式、または不正なリクエストルーティング)により、そのリクエストを処理できないか、処理しません。
2. 考えられる原因と解決方法:
オリジンサーバーのレスポンス:オリジンサーバーに直接アクセスしてテストします。オリジンサーバーが400を返す場合は、オリジンサーバーの設定を変更するか、クライアントのリクエスト動作を変更して正しいレスポンスを取得してください。
EdgeOneノードのレスポンス:
リクエストメソッドがEdgeOneのサポート範囲内であるかどうかを確認してください。以下のリクエストメソッド以外の場合、EdgeOneノードは直接400ステータスコードを返します。
GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT、OPTIONS、PATCH、COPY、LOCK、MKCOL、MOVE、PROPFIND、PROPPATCH、UNLOCK。
プロトコル形式エラー。例えば443ポートを使用してHTTPにアクセスした場合。
HTTPリクエストがRFC仕様に準拠していません。
HTTP 403
1. 意味:サーバーは、クライアントエラーと見なされる何らかの理由(例えば、リクエスト構文エラー、無効なリクエストメッセージ形式、または不正なリクエストルーティング)により、そのリクエストを処理できないか、処理しません。
2. 考えられる原因と解決方法:
オリジンサーバーのレスポンス:オリジンサーバーに直接アクセスしてテストします。オリジンサーバーが403を返す場合は、オリジンサーバーの設定を変更するか、クライアントのリクエスト動作を変更して正しいレスポンスを取得してください。
EdgeOneノードのレスポンス:一般的な原因は、ホットリンク保護検証を通過していないことです。
ルールエンジンでHTTP応答を設定しているかどうかを確認してください。設定している場合は、Referer許可リスト・ブロックリスト、IP許可リスト・ブロックリスト、User-Agent許可リスト・ブロックリストなどの基本アクセス制御に該当しているかどうかを確認してください。 ルールエンジンでToken認証を設定しているかどうかを確認してください。設定している場合は、クライアントリクエストのURLのタイムスタンプが期限切れか、またはMD5暗号化文字列の計算が誤っていないかを確認してください。 エッジ関数でリモート認証を設定しているかどうかを確認してください。設定している場合は、クライアントリクエストのURLが認証サーバーの検証・許可ルールに適合していないかどうかを確認してください。 HTTP 416
1. 意味:サーバーはリクエストされたデータ範囲を処理できません。最も一般的なケースは、リクエストされたデータ範囲がファイル範囲内に存在しないことです。
2. 考えられる原因と解決方法:
オリジンサーバーのレスポンス:オリジンサーバーに直接アクセスしてテストします。オリジンサーバーが416を返す場合は、オリジンサーバーの設定を変更するか、クライアントのリクエスト動作を変更して正しいレスポンスを取得してください。
EdgeOneノードのレスポンス:
異常なrange範囲。例えば、rangeStart < 0、rangeStart > rangeEnd、rangeStart > FileSizeです。
クライアントがリクエストしたrangeヘッダーが標準的ではありません。例えば、Range: Bytes=0-1023をリクエストしており、Range: bytes=0-1023ではありません。
HTTP 418
1. 意味:一般的にサーバーは、処理したくないリクエストを処理するためにこのレスポンスを使用します。
2. 考えられる原因と解決方法:
オリジンサーバーのレスポンス:オリジンサーバーに直接アクセスしてテストします。オリジンサーバーが418を返す場合は、オリジンサーバーの設定を変更するか、クライアントのリクエスト動作を変更して正しいレスポンスを取得してください。
EdgeOneノードのレスポンス:EdgeOneに接続されたドメイン名に対して、システムは自動的にドメイン名にサービスノードを割り当てます。また、対応するノードにはすべて該当ドメイン名の設定ファイルが配布されます。ファイルの内容は、オリジンサーバー、キャッシュ、ヘッダーなどのドメイン名の設定によって異なります。リクエストがEdgeOneノードに到達すると、ノードはドメイン名の設定ファイルを読み取ります。設定ファイルが存在しないことを検出した場合、418ステータスコードを返します。
例えば、クライアントがEdgeOneに接続されたドメイン名http://example.com/test.jpgをリクエストし、該当ドメイン名のリクエスト設定がノード1.1.1.1、1.1.1.2の両方に存在する場合、ドメイン名がこれら2つのノードにリクエストされると、ノードはドメイン名example.comの設定ファイルを読み取り、正常に応答します。ノード2.2.2.2にリクエストされた場合は、418ステータスコードを返します。ドメイン名がexample.com以外のドメイン名のサービスノードにバインドされているかどうか、CNAME設定が正しいかどうかを確認してください。問題がない場合は、お問い合わせください。 HTTP 423
1. 意味:「Locked」(ロック済み)を示します。EdgeOneに接続するシナリオでは、通常リクエストループの発生を示します。
2. 考えられる原因と解決方法:
オリジンサーバーのレスポンス:オリジンサーバーに直接アクセスしてテストします。オリジンサーバーが423を返す場合は、オリジンサーバーの設定を変更するか、クライアントのリクエスト動作を変更して正しいレスポンスを取得してください。
EdgeOneノードのレスポンス:リクエストループが発生しました。つまり、CDN-LoopヘッダーのLoops値が16以上です。詳細はCDN-Loopを参照してください。一般的に、EOに接続された加速ドメイン名で発生し、オリジンサーバーもEOまたはCDN加速に接続されたドメイン名に設定されています。 HTTP 520
1. 意味:EdgeOneが独自に定義したステータスコードです。ノードがオリジンサーバーとのTCP接続確立に成功した後、オリジンサーバーにHTTPリクエストを送信します。しかし、オリジンサーバーが直接RSTパケットを送信した場合、ノードはクライアントに520ステータスコードを返します。
2. 考えられる原因と解決方法:
オリジンサーバーのサービス異常:オリジンサーバーに直接アクセスしてテストとパケットキャプチャを行い、HTTPリクエストに対してオリジンサーバーがRSTパケットを返すかどうかを確認します。オリジンサーバーのファイアウォールまたはサービス自体の異常が原因の可能性があります。
HTTP 521
1. 意味:EdgeOneが独自に定義したステータスコードです。ノードがオリジンサーバーにリクエストを送信し、TCP接続確立段階で、オリジンサーバーが直接RSTパケットを送信した場合、ノードはクライアントに521ステータスコードを返します。
2. 考えられる原因と解決方法:
オリジンサーバーのサービス異常:オリジンサーバーに直接アクセスしてテストします。curlやtelnetなどのコマンドツールを使用して、TCP接続を確立できるかどうかを確認できます。通常は、オリジンサーバーの一部のポートがパブリックネットワークに開放されていないか、オリジンサーバーノードのネットワーク問題が原因です。
HTTP 522
1. 意味:EdgeOneが独自に定義したステータスコードです。ノードがオリジンサーバーにリクエストを送信し、TCP接続確立段階で、オリジンサーバーが応答しないためノードがタイムアウトした場合、ノードはクライアントに522ステータスコードを返します。
2. 考えられる原因と解決方法:
オリジンサーバーのサービス異常:オリジンサーバーに直接アクセスしてテストします。curlやtelnetなどのコマンドツールを使用して、TCP接続を確立できるかどうかを確認できます。通常は、オリジンサーバーの一部のポートがパブリックネットワークに開放されていないか、オリジンサーバーノードのネットワーク問題が原因です。
HTTP 523
1. 意味:EdgeOneが独自に定義したステータスコードです。ドメイン名に設定されたオリジンサーバーがドメイン名の場合、ノードがオリジンサーバーにアクセスする際に、ドメイン名を解決してオリジンサーバーのIPを取得する必要があります。解決に失敗した場合、ノードはオリジンサーバーにアクセスできず、クライアントに523ステータスコードを返します。
2. 考えられる原因と解決方法:
digを使用してオリジンサーバーのドメイン名を解析し、正常に解決できるかどうかを確認してください。
オリジンサーバーのドメイン名が正常に解決できる場合は、お問い合わせください。 HTTP 524
1. 意味:EdgeOneが独自に定義したステータスコードです。ノードがオリジンサーバーとの接続確立に成功した後、オリジンサーバーにリクエストを送信し、オリジンサーバーが応答しないためノードがタイムアウトした場合、ノードはクライアントに524ステータスコードを返します。
2. 考えられる原因と解決方法:
オリジンサーバーのサービス異常:オリジンサーバーに直接アクセスしてテストし、HTTPリクエストに対して応答があるかどうかを確認します。オリジンサーバーが正常に応答する場合は、オリジンサーバーアクセスタイムアウト時間を調整してみてください。それでも問題が解決しない場合は、お問い合わせください。 HTTP 525
1. 意味:EdgeOneが独自に定義したステータスコードです。オリジンサーバーアクセスプロトコルがHTTPSの場合、ノードがオリジンサーバーにアクセスする際にオリジンサーバーとSSLハンドシェイクを実行する必要があります。ハンドシェイクが失敗した場合、ノードはクライアントに525ステータスコードを返します。
2. 考えられる原因と解決方法:
ドメイン名のオリジンサーバーアクセスプロトコルがHTTPSに設定されているにもかかわらず、オリジンサーバーに証明書がデプロイされていないかどうかを確認してください。その場合は、ドメイン名管理でオリジンサーバーアクセスプロトコルをHTTPに変更するか、オリジンサーバーに対応するドメイン名の証明書をデプロイしてください。
ノードとオリジンサーバー間のSSLハンドシェイク時に、ネットワークの問題でパケットロスが発生します。
オリジンサーバー証明書の正当性検証に失敗しました。現在、EdgeOneはデフォルトで証明書の有効期間を検証します。