Clouodflareのプロキシされたサイトの5XXエラーを診断し、解決します。
- 概要
- 500: internal server error (内部サーバーエラー)
- 502: bad gateway (Gateweyが正しくありません) または 504: gateway timeout (Gatewayのタイムアウト)
- 503: service temporarily unavailable (サービスが一時的に利用できません)
- 520: web server returns an unknown error (Webサーバーから不明なエラーを受信します)
- 521: web server is down (Webサーバーがダウンしています)
- 522: connection timed out (接続のタイムアウト)
- 523: オリジンに到達できません
- 524: タイムアウトが発生しました
- 525: SSL ハンドシェイク に失敗しました
- 526: SSL証明書が無効です
- 527: Railgun Listenerからオリジンへ
- エラー 530
- 関連リソース
概要
5xxエラーの多くをトラブルシューティングする際、正しい方法はまず、ホスティングプロバイダーまたはサイト管理者に連絡をして、トラブルシューティングを行い、データを収集します。
必要となるエラーの詳細をホスティングプロバイダーに提供します。
- 特定の5xxエラーコードとメッセージ
- 5xxエラーが発生した時間とタイムゾーン
- 5xxエラーが発生したURL(例:https://www.example.com/images/icons/image1.png)
ホスティングプロバイダー、またはサイト管理者に提供する追加詳細は、以下の通りに各エラー説明に記載されています。Cloudflare カスタムエラーページは、本記事で説明しているデフォルトエラーの外観を変えます。
エラー500: internal server error (内部サーバーエラー)
エラー500は通常、オリジンWebサーバーで問題が発生したことを示します。データベース接続の確立エラーは、オリジンWebサーバーで生成される一般的なHTTP 500エラーメッセージです。ホスティングプロバイダーに連絡して、解決策を見つけてください:
解決方法
ホスティングプロバイダーに詳細を提供し、問題のトラブルシューティングのアシストを受けてください。
ただし、HTMLレスポンス本文に500エラーに「cloudflare」、または「cloudflare-nginx」が含まれている場合、Cloudflareサポートに次の情報を提供してください。
- ドメイン名
- 500 エラーが発生した時間とタイムゾーン
- 500エラー発生が見つかったブラウザからの出力www.example.com/cdn-cgi/trace (www.example.com を実際のドメインとホスト名に置き換えてください)
エラー502 bad gateway (Gateweyが正しくありません) または エラー504 gateway timeout (Gatewayのタイムアウト)
CloudflareがオリジンWebサーバーとの接続を確立できない時にHTTP 502または504が発生します。
考えられる原因が二つあります。
オリジンWebサーバーからの502/504
CloudflareがCloudflare名を含むHTTP 502または504エラーを返すのは、標準HTTP 502 bad gateway、または504 gateway timeout エラーでオリジンWebサーバーが応答した場合です。
解決方法
ホスティングプロバイダーに連絡して、オリジンWebサーバーで考える原因をトラブルシュートしてください。
- オリジンサーバー が502または504エラーを生成した訪問者のURL内のホスト名とドメインへのリクエストに応答したことを確認してください。
- 過剰なサーバー負荷、クラッシュ、ネットワーク障害を調べてください。
- タイムアウトしたりブロックされたりしたアプリケーションまたはサービスを特定してください。
Cloudflareからの502/504
Cloudflareから発生した502、または504 エラーは次のように表示されます。
エラーに「cloudflare」の記載がない場合は、オリジンからの502/504エラーについて、ホスティングプロバイダーに連絡し、ヘルプを受けてください。
解決方法
お問い合わせの処理が遅れないようにするために、Cloudflareサポートにこれらの必要な詳細を提供してください。
- 問題が発生した時間とタイムゾーン。
- HTTP 502、または504レスポンスが発生したURL(例:https://www.example.com/images/icons/image1.png)
- www.example.com/cdn-cgi/trace の閲覧の出力(www.example.com をHTTP 502、または504エラーが発生したドメインとホスト名に置き換えてください)
エラー503: service temporarily unavailable (サービスが一時的に利用できません)
オリジンWebサーバーが過負荷の場合、HTTPエラー 503が発生します。エラーメッセージによって識別できる原因が二つあります。
- HTMLレスポンス本文で、エラーに「cloudflare」、または「cloudflare-nginx」が含まれていません。
解決方法: ホスティングプロバイダーに連絡をして、レート制限を自分のオリジンWebサーバーにリクエストしているかどうか確認します。
- HTMLレスポンス本文で、エラーに「cloudflare」、または「cloudflare-nginx」が含まれています。
解決方法:接続性の問題が、Cloudflareデータセンターで発生しました。Cloudflareサポートに次の情報を提供してください:
- ドメイン名
- 503 エラーが発生した時間とタイムゾーン
- 503エラーの発生が見つかったブラウザからの出力www.example.com/cdn-cgi/trace (www.example.com を実際のドメインとホスト名に置き換えてください)
エラー520: web server returns an unknown error (Webサーバーから不明なエラーを受信します)
エラー520は、オリジンサーバー がCloudflareに空欄、不明、予期していないレスポンスを返した時に、発生します。
解決方法
ホスティングプロバイダーかサイト管理者に連絡をして、クラッシュに関するオリジンWebサーバーエラーログを確認して、次のような一般的な原因を確認するように要求してください。
- オリジンWebサーバーアプリケーションのクラッシュ
- オリジンでホワイトリストに設定されていないCloudflare IP
- オリジンWebサーバーTCPのアイドルタイムアウトが300秒未満になっている
- 8KBを超えるヘッダー(通常、Cookieが多すぎるため)
- HTTPステータスコード またはレスポンス本文が存在しないオリジンWebサーバーからの空欄のレスポンス
- レスポンスヘッダーがない、またはオリジンWebサーバーが適切なHTTPエラーレスポンスを返していない
520エラーがホスティングプロバイダーかサイト管理者に連絡後も続く場合、Cloudflareサポートに以下の情報を提供してください:
- エラーが発生した時に要求されていたリソースの完全なURL
- 520エラーメッセージからのCloudflare Ray ID
- www.example.com/cdn-cgi/trace の出力www.example.comを 520エラーが発生したホスト名とドメインに置き換えてください)
- 二つの HAR ファイル:
- 一つは、WebサイトでCloudflare有効になっているファイル、そして
- Cloudflareが一時的に無効になっているファイルです。
エラー521: web server is down (Webサーバーがダウンしています)
Cloudflareからの接続をオリジンWebサーバーが拒否した時に、エラー521が発生します。オリジンのセキュリティソリューションが、特定のCloudflare IPアドレスからの正当な接続を拒否することがあります。
521エラーの最も一般的な原因が二つあります:
- オフラインになったオリジンWebサーバーのアプリケーション
- ブロックされたCloudflareのリクエスト
解決方法
サイト管理者、またはホスティングプロバイダーに連絡して、こうした原因を取り除いてください。
- オリジンWebサーバーが応答性があることを確認する
- オリジンWebサーバーのエラーログを確認して、Webサーバーアプリケーションがクラッシュしているか、停止しているか確認する
- Cloudflare IPアドレスがブロックされていない、またはレート制限されていないことを確認する
- オリジンWebサーバーのファイアウォール またはその他のセキュリティソフトウェアでCloudflare IP範囲全てをホワイトリストに設定する
エラー522: connection timed out (接続のタイムアウト)
CloudflareがオリジンWebサーバーとの接続中にタイムアウトした時にエラー522が発生します。CloudflareとオリジンWebサーバー間でエラーが発生するタイミングに応じて、二つの異なるタイムアウトが、HTTPエラー522を発生させます。
- 接続が確立する前に、CloudflareがSYNを送信する15秒以内に、オリジンWebサーバがSYN+ACK をCloudflareに返しません。
- 接続が確立した後でも、オリジンWebサーバーがCloudflareのリソースリクエストを90秒以内に認識(ACK)しません。
解決方法
ホストプロバイダーに連絡をして、オリジンWebサーバーで発生する一般的な原因をチェックしてください:
- (最も一般的な原因)Cloudflare IPアドレスが、.htaccess、iptables、またはファイアウォールでレート制限されている、またはブロックされています。ホスティングプロバイダーが、Cloudflare IPアドレスをホワイトリストに設定していることを確認します。
- 過負荷またはオフラインのオリジンWebサーがーが着信リクエストをドロップします。
- KeepAliveがオリジンWebサーバーで無効になっています。
- CloudflareDNSアプリでオリジンIPアドレスが、現在ホスティングプロバイダーがオリジンWebサーバーにプロビジョニングしているIPアドレスと一致していません。
- オリジンWebサーバーでパケットがドロップされています。
上記が全て解決策につながらない場合は、Cloudflareサポートに連絡する前に、ホスティングプロバイダーかサイト管理者から次の情報を取得してください:
- オリジンWebサーバーから、問題発生以前からオリジンWebサーバーに最も一般的に接続されているCloudflare IPアドレスまでのMTRまたはtracerouteオリジンWebサーバーログで記録されているCloudflare IP接続を特定します。
- 関連ログまたはホスティングプロバイダーとの会話など、ホスティングプロバイダーの調査から得た詳細。
エラー523: origin is unreacheable (オリジンに到達できません)
エラー523は、CloudflareがオリジンWebサーバーに接続できない時に発生します。これは通常、CloudflareとオリジンWebサーバー間のネットワークデバイスがオリジンのIPアドレスへのルートがない時に発生します。
解決方法
ホスティングプロバイダーに連絡し、オリジンWebサーバーで以下の一般的な原因を取り除いてください:
- Cloudflare DNSアプリ内でAレコードまたはAAAAレコードにあるオリジンIPアドレスが正しいことを確認します。
- オリジンとCloudflare間、またはオリジン自体のインターネットルーティングの問題をトラブルシューティングします。
上記が全て解決策につながらない場合は、ホスティングプロバイダーかサイト管理者から次の情報を取得してください:
- オリジンWebサーバーから、問題発生以前からオリジンWebサーバーに最も一般的に接続されているCloudflare IPアドレスまでのMTRまたはtracerouteオリジンWebサーバーのログからCloudflare IPへの接続を特定します。
- Cloudflareのホスティングパートナーを経由してRailgunを使用する時、ホスティングプロバイダーに連絡して、523エラーをトラブルシューティングしてください。
- Railgunのインストールを管理する時、Cloudflareサポートに以下を提供してください:
- RailgunサーバーからオリジンWebサーバーへのtraceroute 。
- ご利用中のRailgunサーバーからの最新syslog ファイル。
エラー524: a timeout occured (タイムアウトが発生しました)
エラー524は、CloudflareがオリジンWebサーバーへの接続に成功したことを示しますが、デフォルトの100秒接続がタイムアウトする前に、オリジンがHTTPレスポンスを提供しなかったということです。
解決方法
ホスティングプロバイダーに連絡して、オリジンWebサーバーで、以下の一般的な原因を取り除いてください:
- オリジンWebサーバーで長時間実行される処理。
- 過負荷のオリジンWebサーバー。
完了に100秒以上かかる(大きいデータエクスポートなど) HTTPリクエストを定期的に実行する場合は、CloudflareDNSアプリでプロキシされていない(グレー色のクラウド)サブドメインの背後にこうした処理を移動させます。
エラー525: SSL handshake failed (SSL ハンドシェイクに失敗しました)
525エラーはオリジンWebサーバーにおける設定問題が発生原因となることがよくあります。エラー525は、二つの条件がそろった時に発生します:
- CloudflareとオリジナルWebサーバー間のSSLハンドシェイクに失敗する、そして
- CloudflareSSL/TLSアプリの 「概要」タブで Full または Full (Strict) SSL が設定されている。
解決方法
ホストプロバイダーに連絡して、以下のようなオリジンWebサーバーで考えられる原因を取り除いてください:
- 有効なSSL証明書がインストールされていない
- ポート443(または他のカスタムセキュアポート)が開いていない
- SNIサポートがない
- Cloudflareで受け入れられている暗号スイートがオリジンWebサーバーでサポートされている暗号スイートと一致しない
エラー526: invalid SSL certificate (SSL証明書が無効です)
エラー 526は、次の二つの条件がそろった時に発生します:
- オリジンWebサーバーでCloudflareがSSL証明書を検証できない、そして
- CloudflareSSL/TLSアプリの 「概要」タブにおいて、 Full SSL (Strict) SSLが設定されている。
解決方法
サーバー管理者またはホスティングプロバイダーにリクエストして、オリジンWebサーバーのSSL証明書を見直して、次を確認してください。
- 証明書の有効期限が切れていないか
- 証明書は失効していないか
- 証明書に、(自己署名ではなく)認証局からの署名があるか
- 要求されたドメイン名とホスト名が証明書のCommon Name(コモンネーム)または Subject Alternative Name(サブジェクトの別名)に記載されているか
- オリジンWebサーバーがポートSSL ポート443経由の接続を受け入れているか
- Cloudflareを一時的に停止して、https://www.sslshopper.com/ssl-checker.html#hostname=www.example.com を開けて、(www.example.comを ホスト名とドメインに置き換える)オリジンSSL証明書に問題がないことを確認する:
オリジンサーバーが自己署名の証明書を使用している場合は、ドメインをFull SSL (strict)の代わりにFullSSLを使うように設定します。ご自分のオリジンに合わせて推奨されるSSL設定を参照してください。
527エラー: Railgun Listener to origin error (Railgun Listenerからオリジンへのエラー)
527エラーは、CloudflareとオリジンのRailgun サーバー (rg-listener)間で接続が中断したことを示します。考えられる原因は:
- ファイアウォールの干渉
- RailgunサーバーとCloudflare間で発生したネットワークインシデントまたはパケットロス
527エラーの考えられる原因:
Cloudflareサポートに連絡する場合は、Railgun Listenerから以下の情報を提供してください:
- railgun.confファイルの完全なコンテンツ
- railgun-nat.confファイルの完全なコンテンツ
- 認められたエラーの詳述するRailgunログファイル
接続タイムアウト
以下のRailgunログエラーでは、Railgun ListenerとオリジンWebサーバー間の接続失敗を示しています:
connection failed 0.0.0.0:443/example.com: dial tcp 0.0.0.0:443: i/o timeout no response from origin (timeout) 0.0.0.0:80/example.com
解決方法
ホスティングプロバイダーに連絡して、オリジンWebサーバーとRailgun Listener間の接続性問題をテストするためのサポートを受けてください。例えば、Railgun ListenerからオリジンWebサーバーのSERVERIPとPORT(HTTPは80、HTTPSは443)の時に、netcatが接続性のテストをコマンドします:
nc -vz SERVERIP PORT
LANタイムアウト超過
以下のRailgun Listenerログエラーが生成されるのは、オリジンWebサーバーがHTTPレスポンスをデフォルトタイムアウトの30秒以内にRailgun Listenerに送信しない時です:
connection failed 0.0.0.0:443/example.com: dial tcp 0.0.0.0:443: i/o timeout
この時間は、railgun.conf fileのlan.timeoutパラメーターによって調整されています。
解決方法
railgun.confでlan.timeout制限を増やすか、ウェブサーがー設定を見直す。ホスティングプロバイダーに連絡して、オリジンWebサーバーが過負荷になっていないか確認してください。
接続拒否
Railgun Listenerが拒否されると、以下のエラーがRailgunログに表示されます:
Error getting page: dial tcp 0.0.0.0:80:connection refused
解決方法
オリジンWeb サーバーのファイアウォールで Railgun Listenr のIPをホワイトリストに設定します。
TLS/SSLに関連するエラー
TLS接続に失敗すると、次のエラーがRailgunログに表示されます。
connection failed 0.0.0.0:443/example.com: remote error: handshake failure connection failed 0.0.0.0:443/example.com: dial tcp 0.0.0.0:443:connection refused connection failed 127.0.0.1:443/www.example.com: x509: certificate is valid for example.com, not www.example.com
解決方法
TLS/SSLエラーが発生した場合、オリジンWebサーバーをチェックして、次を確認します:
- ポート443が開いているか
- オリジンWebサーバーでSSL証明書が提示されているか
- オリジンWebサーバーのSSL証明書に記載されるSANまたはコモンネームがリクエストされたホーム名に含まれているか
- CloudflareSSL/TLSアプリの 概要タブで、SSLがFullまたはFull (Strict)に設定されているか
エラー 530
HTTPエラー530が、1xxxエラー表示とともに返されました。トラブルシューティング情報を取得するには、Cloudflareヘルプセンター内で特定の1xxxエラーを検索してください。
関連リソース