502 Bad Gatewayのエラーの意味・原因と回避するためには?

502 Bad Gatewayのエラーの意味・原因と回避するためには?

PCやスマホでWEBページを見ていて突然「502 Bad Gateway」とエラーが表示される事があります。この502 Bad Gatewayの意味と原因・回避するためにすべき事をご紹介していきます。サービス側の問題ですのでnginxの設定やサーバー設定を見直しましょう。


目次[非表示]

  1. 502 Bad Gatewayのエラーの意味
  2. 502 Bad Gatewayの原因と回避するために

502 Bad Gatewayのエラーの意味

502 Bad Gateway
みなさんはPCやスマホで自分のサイトやブラウジングをしていて突然「502 Bad Gateway」のエラーが表示された経験はないでしょうか?

いきなり502 Bad Gatewayと表示されて意味がわからなく面食らう方もいるかと思います。この502 Bad Gatewayを含めhttpの50x系のエラーとしてはサービス提供側のエラーとなります。

つまりアクセスしているPCやスマホのクライアント側の問題ではなく、サービス側の問題という意味となります。

502 Bad Gatewayの原因と回避するために

502 Bad Gatewayは先述の通りサービス提供側の問題となりますので、サービス提供側で原因を特定して何とかする必要があります。

逆に言うと、PCやスマホでアクセスしているユーザーはどうしようもありませんので、基本的にはサービス復旧を待つしかありません。

以下では、サービス提供側の方に対して、自らの経験に基づき502 Bad Gatewayのエラーの原因となり得る原因とその回避についてまとめます。参考になれば幸いです。

サーバーの設定を見直す

nginxやApacheのWEBサーバーの設定を見直してみましょう。もしも直近でサーバーの設定を変更した事があれば、その変更を疑って一度戻してみるのも手です。

サーバーの再起動で直る問題の可能性もありますので、一度nginxやApacheを再起動してみるのもありです。

WEBサーバーとアプリケーションサーバーが別の場合の設定を見直す

nginxやApacheなどのWEBサーバーとRailsやPHPなどのプログラム側のアプリケーションサーバーが別となっているシステムもあります。

この場合にunixソケットなどで連携している設定がおかしい場合があります。一度設定を見直すのと、nginxとアプリケーションサーバー側のログを見直し何かエラーを吐いていないかチェックしてみましょう。

アプリケーション側のバグを治す

アプリケーション側のプログラムにバグがある可能性があります。最近変更していた場合は一度もとに戻してみるのも有効です。

例えばかなり時間のかかるクエリが発生するような問題、リダイレクトループなどなどアプリケーション側で500系のエラーが発生して502 Bad Gatewayが発生している可能性もあります。一度プログラムを見直してみましょう。

プロセスやワーカーを増やす

アプリケーションサーバー側でアクセスをさばききれていなくて、timeoutして502 Bad Gatewayが発生している場合もあります。

この場合メモリの状況や、サーバーのCPUを考慮してプロセスやワーカーの数を増やして有効そうであれば、増やしてみましょう。

サーバーの増強

アクセス過多や、サーバーからのレスポンスが遅くて502 Bad Gatewayとなっている可能性もあります。サーバーの増強やスペックアップすることで改善する場合もあります。

AWSなどのクラウドでサーバーを管理している場合は簡単にスペックをあげられますので、一度あげてみるのも有効です。


関連記事