1panel コンテナで Discourse をデプロイし、リバースプロキシを設定して Web サイトを構築しました。ドメインに Cloudflare CDN を使用したところ、すべてのトラフィックがユーザーのブラウザ IP ではなく、Cloudflare のサーバーから来ているように表示される問題の解決方法を教えてください。
アプリの app.yml で Cloudflare テンプレート を使用したいですね。
試してみましたが、ダメでした
。失敗の原因は、1panel コンテナでデプロイし、リバースプロキシを使用していることかもしれませんね?
nginx 設定ファイルを直接編集することはできますか?可能であれば、こちら で提案されている変更を加えてください。その後、nginx サービスを再起動すれば正常に動作するはずです。参考になれば幸いです!
ホスティング会社とCloudFlareの2つのリバースプロキシを実行する理由が気になります。技術的な理由があるのでしょうか?
私はサーバー管理パネルの 1Panel(オープンソース)を使用して、Discourse をコンテナ化してデプロイしています。これによりサーバー管理が容易になります。
1Panel のアーキテクチャは以下の通りです:ユーザー -> Cloudflare -> 1Panel Nginx -> Discourse コンテナ
私の理解では、Discourse の app.yml 設定を変更しても、1Panel の Nginx は Cloudflare と Discourse の間に依然として存在し、中間に位置しています。
つまり、これは 1panel によって導入された技術的な制約です。
VPS で複数のサーバーを稼働させていますか、それとも Discourse だけを稼働させていますか?Discourse だけを稼働させている場合、1panel は不要なはずです。1panel が必要な技術的な理由がある場合を除きます。
私の Discourse は、Cloudflare の背後にある VPS でネイティブに稼働しています。この設定は問題なく動作しています。
Discourse 以外にも、OpenClaw がありますね ![]()
ほぼ間違いありません。
表示されている IP は 1panel コンテナの IP ですか?
管理者としてユーザーを表示すると、最後に使用されたIPアドレスがCloudflareのIPアドレスとして表示されます。
これを実装しましたか?
これは、Cloudflare の IP アドレスではなくエンドユーザーの IP アドレスを使用するように Apache を修正するためのものです。
ありがとうございます。私は nginx を使用しています。いくつかのチュートリアルを確認したところ、ホストの nginx 設定ファイルにリバースプロキシを設定する方法が紹介されていました。時間ができたら試してみます。
Cloudflare のテンプレートを提案通りインストールしましたか?もしそうでないなら、なぜここで助けを求めているのですか?