CloudFlareを使用して実際のIPアドレスを明らかにする方法

フォーラムにCloudflareを使用している理由は複数ありますが、訪問者の実際のIPアドレスを取得したいと考えています。これにより、そのIPアドレスで登録している人数の正確なデータを把握でき、IPバンなどの機能も正しく動作します。
これを実現する方法はありますか?

cloudflare.template.ymlapp.yml ファイルのテンプレートセクションに追加する必要があります。

「いいね!」 5

実は、今サイトを訪れようとするとウェブサーバーがダウンしているんです。

「いいね!」 1

エラーは何ですか?ログファイルの内容は何ですか?

フォーラムにアクセスすると、単に「Error 521 Web server down」というエラーが表示されます。
現在のログファイルには以下のような内容が記録されていました。

2021-08-11 12:14:46.898 UTC [556] LOG:  starting PostgreSQL 13.3 (Debian 13.3-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
2021-08-11 12:14:46.899 UTC [556] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2021-08-11 12:14:46.899 UTC [556] LOG:  listening on IPv6 address "::", port 5432
2021-08-11 12:14:46.996 UTC [556] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2021-08-11 12:14:47.112 UTC [577] LOG:  database system was interrupted; last known up at 2021-08-10 14:46:03 UTC
2021-08-11 12:14:47.852 UTC [577] LOG:  database system was not properly shut down; automatic recovery in progress
2021-08-11 12:14:47.902 UTC [577] LOG:  redo starts at 0/3DFE308
2021-08-11 12:14:47.905 UTC [577] LOG:  invalid record length at 0/3E0A2D8: wanted 24, got 0
2021-08-11 12:14:47.905 UTC [577] LOG:  redo done at 0/3E0A2B0
2021-08-11 12:14:48.332 UTC [556] LOG:  database system is ready to accept connections
2021-08-11 15:09:07.632 UTC [556] LOG:  received smart shutdown request
2021-08-11 15:09:08.970 UTC [556] LOG:  background worker "logical replication launcher" (PID 585) exited with exit code 1
2021-08-11 15:09:08.973 UTC [580] LOG:  shutting down
2021-08-11 15:09:09.018 UTC [556] LOG:  database system is shut down
2021-08-11 15:14:54.109 UTC [564] LOG:  starting PostgreSQL 13.3 (Debian 13.3-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
2021-08-11 15:14:54.110 UTC [564] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2021-08-11 15:14:54.110 UTC [564] LOG:  listening on IPv6 address "::", port 5432
2021-08-11 15:14:54.132 UTC [564] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2021-08-11 15:14:54.136 UTC [576] LOG:  database system was shut down at 2021-08-11 15:14:20 UTC
2021-08-11 15:14:54.147 UTC [564] LOG:  database system is ready to accept connections
2021-08-11 15:48:11.435 UTC [564] LOG:  received smart shutdown request
2021-08-11 15:48:12.349 UTC [564] LOG:  background worker "logical replication launcher" (PID 582) exited with exit code 1
2021-08-11 15:48:12.349 UTC [577] LOG:  shutting down
2021-08-11 15:48:12.397 UTC [564] LOG:  database system is shut down
2021-08-11 15:48:17.233 UTC [555] LOG:  starting PostgreSQL 13.3 (Debian 13.3-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
2021-08-11 15:48:17.233 UTC [555] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2021-08-11 15:48:17.233 UTC [555] LOG:  listening on IPv6 address "::", port 5432
2021-08-11 15:48:17.245 UTC [555] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2021-08-11 15:48:17.255 UTC [570] LOG:  database system was shut down at 2021-08-11 15:48:12 UTC
2021-08-11 15:48:17.271 UTC [555] LOG:  database system is ready to accept connections
2021-08-11 18:24:06.544 UTC [555] LOG:  received smart shutdown request
2021-08-11 18:24:11.892 UTC [555] LOG:  background worker "logical replication launcher" (PID 576) exited with exit code 1
2021-08-11 18:24:11.895 UTC [571] LOG:  shutting down
2021-08-11 18:24:11.936 UTC [555] LOG:  database system is shut down
2021-08-11 18:59:31.940 UTC [554] LOG:  starting PostgreSQL 13.3 (Debian 13.3-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
2021-08-11 18:59:31.940 UTC [554] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2021-08-11 18:59:31.940 UTC [554] LOG:  listening on IPv6 address "::", port 5432
2021-08-11 18:59:31.964 UTC [554] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2021-08-11 18:59:31.977 UTC [570] LOG:  database system was shut down at 2021-08-11 18:24:11 UTC
2021-08-11 18:59:32.004 UTC [554] LOG:  database system is ready to accept connections
「いいね!」 2

それがデータベースのログです。/var/discourse/shared/standalone/log/var-log/nginx/error.log のログを確認してもらえますか?

「いいね!」 1

error.zip (123.2 KB)
この zip ファイルに error.log ファイルが含まれています。内容はほぼ同じです(.log ファイルはサポートされていないため投稿できません。また、error.log ファイル内のテキスト量が非常に多いためです)。

現時点で Cloudflare テンプレートが破損しているようです。最終更新は 2016 年です。削除して再構築してください。時間が許せば、修正も確認します。

「いいね!」 4

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

同じ問題が発生しています。ここに解決策があるとは光栄です :slight_smile:

奇妙なことに、これは今日行われた再構築のみが影響を受けているように見えます。他のサーバー(同じ Discourse バージョン - Stable 2.7.7)は正常に動作しています。

ただし、最近いくつかのフォーラムで(アップデート後ではないのに)奇妙なエラーが発生し始めました:

おっと

このディスカッションフォーラムを動かしているソフトウェアで予期しない問題が発生しました。ご迷惑をおかけして申し訳ございません。

エラーの詳細な情報はログに記録され、自動通知が生成されました。確認いたします。

追加の対応は不要です。ただし、エラーが継続する場合は、エラーを再現する手順など、追加の詳細をサイトのフィードバックカテゴリにディスカッショントピックを投稿してご提供ください。

関連があるかは不明ですが、このエラーが最近同じバージョンで再構築を行っていた理由です。

編集:確認済み、Cloudflare テンプレートを削除することで 521 エラーが解決しました。

更新:@Zenexer さんがこの問題に対する PR を作成したようです:Cloudflare template broken again

「いいね!」 2

app.yml 内の Cloudflare テンプレートの行をコメントアウトした場合、[site] (https://howtodiscuss.com) にどのような影響がありますか?当サイトでは Cloudflare を使用しています。

また、私の問題もこれと同じでしょうか?https://meta.discourse.org/t/discourse-updated-from-admin-not-working-after-rebuild-fatal-error-site-does-not-load-anymore-after-rebuild/200443

@markersocial 私のサイトは Cloudflare 上で動作していますが、その行を削除するとどうなりますか?

私の知る限り、ユーザーの登録情報や最近使用された IP アドレスが、実際の IP ではなく Cloudflare の IP としてログに記録されることになります。そのため、誰かをBANすると、その Cloudflare の IP が BAN ログに追加されてしまいます。これはよろしくないですね。

この状態では、たまたま BAN された Cloudflare の IP を割り当てられたユーザーは、サインインや登録ができなくなる可能性があります(テンプレートが適用されていない場合)。すでにログインしているユーザーには影響がないと思われますが、過去には(おそらく現在も同様ですが、確信はありません)、管理者やモデレーターが新しいセッションにログインできなくなる事態も発生していました。

テンプレートが利用可能になるまで、公開登録を無効にし、IP による BAN を使用しないことをお勧めします。

「いいね!」 1

わかりました、ありがとうございます。私の問題も、この Cloudflare テンプレートのバグと同じだと本当にお考えですか?最後の投稿に載せたトピックのリンクをご確認いただき、ご確認をお願いできますでしょうか。

同じバグを診断するために、どのログコマンドを使用すべきでしょうか。

また、502 エラーが発生するあなたのバグが、同じ CF エラーに起因するものであることをどのようにして確認されたのでしょうか。

Cloudflare template broken again - #3 by Zenexer で修正済みです。再度お試しください。

「いいね!」 3

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.