皆さん、こんにちは。
先日までDiscourseは正常に動作していましたが、アップデート後に現在のような問題(502 Bad Gateway)が発生しています。
NGINXを使用しており、Discourse自体やサービスへのメインのNGINXサーバープロキシについては何も変更していません。
また、Cloudflare DNSなども使用しています。
行った手順は以下の通りです。
- ウェブサイトの管理パネル(コミット用)からDiscourseをアップデートしました。
- サーバーにcertbotが既にインストールされていることに気づく前に、サーバーにcertbotをインストールしました。
- 「sudo snap install core; sudo snap refresh core」を実行しました。
- npmとnodejsを最新バージョンにアップデートしました。
- ステップ1から4の後、Discourseアプリがダウンしていることに気づき、再構築しました。
リバースプロキシのnginx設定を再確認しましたが、何も触っていないことを再確認しました。
何が原因で問題が発生したのか少し混乱しています。
よろしくお願いします。
~Blood
「いいね!」 1
pfaffman
(Jay Pfaffman)
2
アップグレード/再起動後、1~2分間502エラーが発生します。
サーバー上のnpmやnodejsは、Discourseがすべてコンテナ内で取得するため、何ら影響を与えません。
それでも復旧しない場合は、コマンドラインでのアップグレードを試してください。
cd /var/discourse
./launcher rebuild app
ああ。
以下を確認できます。
docker logs -f app
および
/var/discourse/shared/logs/.....
「いいね!」 1
docker logs -f app を使用してログを確認しました。
その中に、特に目立つものは何もありませんでした。
また、/var/discourse/shared/logs/ がなく、代わりに以下があるようです。
/var/discourse/shared/standalone/log
ただし、ログがそのディレクトリ内にある場合、どれを読むべきか正確にはわかりません。
pfaffman
(Jay Pfaffman)
4
ああ、すみません。提供された正しいパスからたどっていくと、RailsログとNginxログがあります。Railsログを確認して、リバースプロキシからコンテナにデータが到達しているか、またRailsにエラーがないかを確認できます。
ログから読み取れる限りでは、redisは最初は接続しませんが、その後自己修復するようです。ただし、以前からそれが存在したかどうかは定かではないため、正直なところ、それが私が抱えている問題の原因だとは思っていません。
SSLハンドシェイクが原因かと思いましたが、NGINXのerror.logには最近何も言及されていません。
pfaffman
(Jay Pfaffman)
6
外部のリバースプロキシを使用している場合、SSL関連の処理はDiscourseではなくそちらで行うべきです。ymlファイルにSSLとletsencryptのテンプレートが含まれている場合、それが問題である可能性がありますが、以前は動作していたとのことでしたね。
ええ、コメントアウトされていることを再確認しましたが、コメントアウトされています。そのため、アップデート後にこれが起こった理由が全くわかりません。
数日前までは動作していたはずですが、アップデートなどで少し触った後です。しかし、私が把握している限りでは、問題が発生しているのはこのサービスだけではないため、NGINX側の問題だと考えています。
「いいね!」 1