crospa91
(Matt)
1
こんにちは皆さん、このセクションで質問して良いか迷いましたが、お手数をおかけします。
最近、Discourse サーバーの前にあるリバースプロキシを変更しました。
複数の Discourse インスタンスが稼働するサーバーがあり、それらを正しい Web サーバーにドメインを振り分けるリバースプロキシを前面に配置しています。
以前も今回も HAProxy を使用していますが、違いはプラットフォームです。以前は pfSense にインストールされていましたが、現在は OPNsense にインストールされています。
リバースプロキシ自体は正常に動作していますが、ログインしようとすると CSRF エラーが発生し、何もできません。
Discourse の設定に変更はなく、HAProxy の設定もそのままコピーしているため問題ないはずです。
X-Forwarded-For と SSL を有効にしましたが、Discourse はクライアントの IP アドレスを認識できず、プロキシの IP アドレスしか認識していないようです。
Reddit でも同様の質問を投稿しました:https://www.reddit.com/r/OPNsenseFirewall/comments/l4ltxb/migration_from_pfsense_to_opnsense_ha_proxy/?utm_source=share&utm_medium=web2x&context=3
pfaffman
(Jay Pfaffman)
2
CSRFの問題(https証明書の問題に関連していると思うが、確信はない)が解決するかどうかはわからないが、コンテナ内のnginxに信頼するアドレスを伝えることで、あなたがやった転送設定は有効だ。X-forwarded-forで検索すれば、その修正方法の例が見つかる。
crospa91
(Matt)
3
返信ありがとうございます。
その件についてフォーラムを確認しましたが、最新の情報は見つけることができませんでした。
コンテナ内の nginx に Real_ip を設定するといった古いトピックは多数ありますが、どのように設定すればよいのか見当が付きません。
何か具体的なガイドをご推奨いただけませんでしょうか?
pfaffman
(Jay Pfaffman)
4
具体的なガイドは見当たりませんが、近日中に作成する予定です。real-ip 部分に必要な情報は、おそらくこちらの Inconsistent / missing registration & last IP - #13 by pfaffman で得られると思います。
RGJ
(Richard - Communiteq)
5
X-Forwarded-Proto ヘッダーも送信する必要があります。
crospa91
(Matt)
6
ありがとう!本当に3日間ぐるぐる回っていましたが、これで解決しました!
Protoヘッダーも追加して動作確認しました!
neounix
(Dark Matter)
7
参考までに、Discourse アプリの前に配置するリバースプロキシサーバーの構成例が多数あります。これらはほぼすべて「X-Forwarded-Proto」に対応しています。