エラー「Error 522 – ‘Connection timed out’:」の対処法

error 522と言えば、世界的に有名なCDNサービスプロバイダーであるCloudflareについて言及する必要があります。Cloudflareは、2010年に設立され、多数のWebサイトに応答速度とセキュリティの向上に役立つサービスを提供しました。 従来のインターネット転送方法とは異なり、Cloudflareは静的画面をキャッシュするだけでなく、リバースプロキシ機能も提供します。 簡単に言うと、インターネットリソースにアクセスするとき、最初にアクセス要求がcloudflareに送信され、次にcloudflareが要求をオンラインサーバーに送信します。 オンラインサーバーは情報を送り返し、cloudflare経由で送信します。

こうするメリットの1つは、Cloudflareは世界中に多数のサーバーノードがあることです。 最寄りのノードにリクエストを送信できます。 たとえば、東京でニューヨークにあるコンテンツにアクセスしようと、Cloudflareの東京サーバーを直接リクエストできます。 このとき、CloudflareのTokyoサーバーは、ニューヨークのこのコンテンツにアクセスしたことがあるかどうかを確認します。 もしアクセスしたことがあれば、すぐにこのコンテンツを直接送ることができ、ニューヨークのサーバーにアクセスする必要がなくなります。 このように、Cloudflareのグローバルノードがアクセス負荷を分散するため、アクセス速度が大幅に向上し、ニューヨークサーバーの負担も大幅に軽減されます。

しかし同時に、Cloudflareが原因でよく知られているエラーメッセージが常に表示されるようになりました。このエラーは「’Error 522: Connection timed out’」です。多くの人がこのエラーを「Cloudflareエラー」と呼んでいます。 ただし、ほとんどの場合、このエラーはCloudflareが原因ではありません。

「エラー522」とはどういう意味ですか?

インターネットでよく見られる他のエラーメッセージと同様に、522エラーはHTTPエラーコードです。 最初の数字「5」は、サーバーエラーであることを意味し、次の「2」は、Cloudflareがオンラインサーバーに接続しようとしたときに問題が発生したことを意味します。 先に説明したように、Cloudflareはサーバーの加速そして負担を軽減する役割を果たしますが、ユーザーやサーバーに接続できる必要もあります。 522エラーは、サーバーへの接続がタイムアウトしたことを意味します。 多数のサーバーがCloudflareのサービスの使用を選択しているため、これにより世界中で522のエラーが発生しました。

このエラーが発生した原因は何ですか?

このエラーはCloudflareから通知されましたが、Cloudflareが原因ではありませんでした。 これは実際にはサーバー側のエラーです。 たとえば、私たちが日常アクセスするWebサイトは、インターネット上のサーバーに配置されています。 同時に、これらのWebサイトは、Cloudflareのサービスを使用することを選択します。Cloudflareは、このWebサイトのサーバーのコンテンツを読み取り、アクセスしたときにそれを提供します。 ただし、これらのWebサイトのサーバーに問題があり、Cloudflareがそれらにアクセスできない場合、これらのWebサイトのコンテンツを提供することはできません。もちろん高速なアクセスが不可能です。 一般的に、これらのオンラインサーバーがこのような問題がある場合、522エラーが発生します。

  • サーバーはオフラインです。 サーバーがインターネットに接続できない場合、サーバーは外部にコンテンツを提供できません。 これは携帯電話がにネットワークに接続していない場合、情報を送受信する方法ができないと同じです。
  • サーバーが過負荷になっています。 前に説明したように、Cloudflareは、情報の配信を加速する役割のみを果たします。 これは、アクセス指示を受け取った後、コンテンツが配置されているサーバーにアクセスして情報を取得し、最も近いノードを使用して情報を提供することも意味します。 この時点でコンテンツが配置されているサーバーに多数のアクセス要求があり、クラッシュすると、コンテンツをCloudflareに提供できず、522エラーが表示されます。 サーバーは高性能コンピューターと考えることができますが、同時に実行するプロセスが多すぎると、高性能コンピューターでもクラッシュします。 コンピューターがクラッシュすると、サービスを提供できず、マウスも移動できません。
  • ファイアウォールがアクセスをブロックしています。 サーバーのファイアウォール設定が正しくない場合、Cloudflareのアクセス要求がブロックされる可能性があります。 これが発生すると、Cloudflareは情報を取得して送信できなくなります。 Cloudflareには世界中に多数のノードがあります。一般的に、この場合、現在のアクセスノードのIPはサーバーによってブロックされています。 これらのCloudflareノードは情報を取得できず、522エラーが表示されます。
  • DNS設定が間違っています。 DNSの意味がわからないかもしれません。 簡単に言えば、インターネットにアクセスするとき、各サーバーにはIPがあります。 ドメイン名は私たちの記憶しやすいためだけのものです。ドメイン名にアクセスすると、実際にはインターネット上でIPに変換されます。IPがあれば、対応するサーバーを見つけてコンテンツを読み取ることができます。 DNSは、これらの複雑なIP管理を担当しています。 コンテンツプロバイダーのDNS設定が間違っていると、Cloudflareはサーバーを正しく見つけることができず、コンテンツを読み取ることもできません。
  • IPルーティングが間違っています。 IPルーティング(IP Routing)は一連のプロトコルのコレクションであり、これらのプロトコルは主にネットワーク内のデータの送信を担当するため、ソースネットワークからターゲットネットワークへのデータが送信されます。具体的には、データは一連のルーターを介して複数のネットワークで送信され、プロトコルにより、各ルーターは独自の転送テーブル(forwarding table)を作成してホップアドレス(hop address)を記録します。 IPパッケージは、転送テーブルを介して複数のルーター間で転送されます。この期間中、IPパッケージのヘッダーデータは、ルーターがネクストホップのアドレスを決定するのに十分な情報を提供できます。サーバーのIPルーティングの選択に間違いがある場合、情報を提供できず、エラーが発生します。
  • サーバー側のキープアライブ(Keepalive)モードがオフになっています。 日常でWebサイトへのアクセスにはHTTPプロトコルを使用しています。コンテンツを送信するとき、このプロトコルは、一部のサービスを提供するために表示できないコードを送信しています。メッセージの1つはKeepaliveです。 Cloudflareでは、サーバーとの長期的な接続を維持して効率を向上させるために、サーバーがこのモードを有効にする必要があります。一般的に、サーバーではこのモードがデフォルトで有効になっています。ただし、管理者がこのモードを手動でオフにすると、522エラーが生成します。

ウェブマスターとして、522エラーを解決する方法

あなたがウェブサイトの管理者であれば、あなたのウェブサイトがCloudflareのCDNサービスを使用している場合、ウェブサイトに522のエラーが発生したら、すぐに理由を見つける必要があります。 最も重要なことは、上記のいくつかの理由のどれがWebサイトで522エラーを引き起こしたかを確認する前に、まずサーバーが正常に実行され、HHTPサービスを提供できることを確認する必要があるということです。 サーバーが正しく実行されておらず、HHTPサービスを提供していない場合、他の設定を確認しても無駄です。 サーバーが正常に実行されており、HTTPサービスも提供できる場合は、他の原因を確認してください。

以下に、いくつかの一般的な522エラーの解決策を示します。

解決策1:サーバーの負荷容量をアップする

Webサーバーの過負荷は、522エラーの最も一般的な原因の1つです。 特定の期間に何人が当社のウェブサイトにアクセスするかを予測することはできません。 ある時点でのアクセス数が非常に多く、サーバーの計算能力がそのような多数の訪問を処理できない場合、エラーが発生します。 したがって、トラフィックの変化に常に注意を払う必要があります。トラフィック分析ソフトウェアを使用して、トラフィックが最も多い時期とその量を分析します。 最も簡単な解決策は、より優れたハードウェアをアップグレードすることです。これにより、大量のトラフィックを処理するサーバーの機能を向上させることができます。 一部のサーバーオペレーターは、サーバー構成を柔軟に変更するためのサービスも提供しています。

解決策2:IPフィルタリング設定を確認する

CloudflareのIPがサーバーによってブロックされているかどうかを確認するには、ファイアウォール設定と、iptablesの設定などの他のファイアウォールのようなソフトウェアを確認する必要があります。 同時に、.htacessファイルでIPがブロックされる可能性があるため、このファイルもチェックする必要があります。 Cloudflareには世界中に多くのノードがあり、各ノードには独自のIPがあります。これらのIPがブロックされていないことを確認する必要があります。 すべてのIPのリストはここをクリックして確認できます。 これらのIPがサーバーによってブロックされている場合、522エラーが発生します。 同時に、これらのノードはサーバーによくアクセスする場合、サーバーセキュリティソフトウェアによって検出およびブロックされる可能性があります。このとき、これらのIPをホワイトリストに設定する必要があります。

注意点

CloudflareのIPをブロックするサーバープロバイダーが発見したケースがいまだに見つかっていません。一般的に、サーバーが正しく設定されておらず、IPがブロックされています。 ただし、CloudflareのIPがサーバーによってブロックされていることがわかった場合は、Cloudflareに連絡して、ブロックしないように依頼することができます。

解決策3:DNS / IPをリセットする

WebサイトがネットワークIPを頻繁に変更する場合は、新しいIPを手動でCloudflareに設定する必要があります。 CloudflareではDNS resolutionをドメインレジストラからCloudflareに切り替える必要があるため、すべての設定はCloudflareでのみ行うことができます。 特に、Webサーバープロバイダーとドメイン名プロバイダーが同じである場合、Webサーバーアドレスが変更されると、自動的にドメイン名に同期されます。 しかし、これはCloudflareとWebサーバープロバイダーの間では絶対に不可能です。

解決策4:「キープアライブ(keepalive)」設定を開く

522エラーが誤ったHTTP送信パラメーター設定によって引き起こされた場合、理論上では解決方法が簡単です。 設定で「keepalive」がオフになっている場合は、ネットワークサービスソフトウェア(Apacheなど)の設定ファイル(httpd.confなど)で開くことができます。 ただし、共有ホスティング(shared hosting)を使用している場合、これらの設定を変更することはできません。 この場合は、共有ホスティングプロバイダーに連絡して、解決を依頼することしかできません。 キープアライブ(keepalive)をアクティブにできない場合は、Cloudflareの使用を停止することを検討してください。

解決策5:Cloudflareサポートに連絡する

Cloudflareカスタマーサービスにお問い合わせください。 しかし、一般的には、サーバーに問題がある場合、Cloudflare助けるを求めるのが非常に困難です。 522エラーがCDNの障害によって引き起こされた場合、彼らはそれを受け入れます。

解決策の小技:

サーバーに問題がある場合、CDNを使用してデバッグするのは困難です。これは、ドメイン名を使用して接続すると、Cloudflareノードに接続することが多く、デバッグが難しいです。 このとき、DNS resolutionをCloudflareから元のプロバイダーに切り替えて、デバッグを容易にすることができます。 切り替えてすぐにアクセスできる場合は、Cloudflareに問題があることが判明し、サーバーをデバッグする必要はありません。

あなたが訪問者の場合、522エラーを解決するにはどうすればよいですか?

522エラーはサーバー側の問題であり、訪問者とは何の関係もありません。 Webサイトの閲覧中に522エラーが表示された場合、これはウェブマスターが対処する必要のある問題であり、訪問者のシステムやネットワークとは直接関係がありません。 言い換えれば、訪問者がこの問題を解決する方法はありません。 唯一の方法は、後で再度アクセスすることです。 その時までに、この問題がWebマスターによって解決されていることを願っています。

可能であれば、ウェブマスターに連絡してください。 特に何度もアクセスしても失敗した場合。 ウェブマスターは、サイトで発生している問題を教えてくれます。 特に、ウェブマスターが522エラーが発生していることを知らない場合は、この連絡によって問題をより早く解決できるかもしれません。

Share

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です