最新アップデート後のCloudFlare設定によるエラー521

皆さんこんにちは!!

最新バージョンへのアップデート後、サイト全体がダウンしてしまいました。アップデート後、サーバー全体を再起動しました。Cloudflare を使用していますが、実際の問題が何なのか分かりません。深刻なサポートが必要です!!

https://engineersasylum.com/

私も同じ問題に直面しています!

https://businesscomputingworld.co.uk

Cloudflare の SSL 設定のスクリーンショットを共有していただけますか?

この機能は試されましたか?

Cloudflareからサイトを削除したところ、サイトが再びオンラインになりました。どうやらCloudflareが原因のようです。

私も forum.confident.faith同じ問題 が発生していました。Cloudflare インターフェースでサイトを「一時停止」するだけで問題が解決することを確認しました。同じ構成の他のサイトではこの問題が起きていないため、特に奇妙な現象です。

DNS設定をDigital Oceanに再設定してから、サイトが再び稼働するまでにどれくらいかかりましたか?

TTL が自動設定の場合、5 秒から 1 分後になるはずです。

TTL(Time to Live)の設定によります。

私のウェブサイトもアップデート後に動作しなくなっています。TLS設定を1.2に更新しましたが、まだウェブサイトが読み込まれません。何が問題で、どのように修正すればよいか教えてください。

TLS 1.2 以上への切り替えは、決して解決策ではありません。

ご自身の設定を、以下の URL に記載された私の設定と比較してみてください:https://meta.discourse.org/t/after-updating-website-wont-come-back-online/128391/6。また、その投稿で言及されている Docker コンテナの再構築も役立つかもしれません。

そのスレッドの指示に従いましたが、ウェブサイトがまだ動作しません。何が問題か教えていただけますか?また、エラーログに表示されているエラーについても、そのスレッドで返信しました。

@gerhard がプライベートスレッドで指示した通り、./shared/standalone/ssl/website.com_ecc.cer./shared/standalone/ssl/website.com_ecc.key を削除しようとしました。その後アプリを再ビルドしましたが、ウェブサイトはまだ読み込まれません。最適な解決策が見つかりません。ウェブサイトが10時間以上ダウンしているため、どなたかお手伝いください。

エラーログを確認したところ、以下のエラーが見つかりました。

nginx: [emerg] cannot load certificate "/shared/ssl/website.com_ecc.cer": PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE)

最近、あるサイトでこの問題に遭遇したと思いますが、他にもいくつかの問題があったため、詳細は頭の中でぼんやりしています。以下のコマンドを試してみてください。

rm -rf /var/discourse/shared/standalone/ssl
rm -rf /var/discourse/shared/standalone/letsencrypt

その後、再構築を行ってください。

もし行き詰まっていて、お金をかけて解決したい場合は、300ドルで復旧をお手伝いします。私は今、デスクにいます。https://www.literatecomputing.com/product/rebuild-your-droplet/。

おっしゃった通り試しましたが、ウェブサイトは依然として読み込まれません。ログには引き続きエラーが表示されています。

nginx: [emerg] cannot load certificate "/shared/ssl/website.com.cer": PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE)

本当に申し訳ありませんが、現時点では300ドルを支払うことができません。

300 ドルは大金ですが、今日はかなり忙しいです(テスト中のものが壊れるのを待っている時間を除いて)。最後の無料アドバイスとして、以下のコマンドを実行してください。

cd /var/discourse/containers
grep DISCOURSE app.yml
mv app.yml app.broken
cd ..
./discourse-setup

これで新しい app.yml が生成されます。問題の原因となっている設定が含まれている可能性があります。grep を実行するのは、discourse-setup で求められる質問に答えるために必要な情報を把握しておくためです。

これを試しましたが、セットアップが始まりませんでした。grep は機能し、すべてのデータを安全な場所にコピーしたので、再度使用できます。しかし、今度はセットアップを再度実行しようとすると、以下のように表示されます。

ポート 80 を使用しているコマンドを表示します
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 27737 root 4u IPv6 47517368 0t0 TCP *:http (LISTEN)

Discourse を Apache や nginx などの他の Web サーバーと同時に実行しようとしている場合は、異なるポートにバインドする必要があります

詳細は Run other websites on the same machine as Discourse を参照してください

すでに設定済みの Discourse を再設定する場合は、以下を実行してください

./launcher stop app

これにより Discourse が停止します。その後、再設定して再度お試しください。

状況はさらに悪化しているように思われます。

申し訳ありません。ここで解決できる以上の難しい問題を抱えている可能性があります。

コンテナファイルが app.yml として禁止されている場合、まず以下のコマンドで古いコンテナを停止する必要があります。

docker stop app

その後、discourse-setup を実行できます。

grep が機能しない理由は想像もつきません。

こんにちは @pfaffman さん、数時間この問題の解決を試みており、以下が私の対応です。SSL と letsencrypt フォルダの削除には成功しました。その後、app.yml から letsencrypt 関連の行を削除し、アプリを再ビルドしました。最後に Cloudflare から https を削除しました。これらを行った結果、ウェブサイトが再び表示されるようになりましたが、現在は https になっていません。次に何をすべきか確認する必要があると思います。

Cloudflare のオレンジ色のクラウドを有効にする必要はありません。あなたが Cloudflare を使用していることに気づいておらず、もしトピックのタイトルを読んでいれば、それが問題だと考えたかもしれません。

app.yml で Let’s Encrypt を有効にするだけで動作します。

オレンジのクラウドをオンにすると、Let’s Encrypt は証明書の登録や更新を行うことができません。

rm -rf /var/discourse/shared/standalone/ssl
rm -rf /var/discourse/shared/standalone/letsencrypt

ありがとうございます!助かりました!