リバースプロキシでの問題エラー429

Hi, My Discourse is run with reverse proxy (NPM)

the discourse don’t it does not support the x-forwarded field and therefore shows me all the time the ip address of my reverse proxy when we look for example from which ip the user is registering etc …

I sniff the request on discourse and the X-forwarder is present but in access.log the IP view is the reverse proxy

I view on interne il necessary to change the configuration template or de configuration file nginx for Discourse (not nginx on NPM)

do you help me for this ? because the discourse activate de tempalte web.ratelimite and send most error 429

:frowning:
Thank you for you help

See How to set up Discourse on a server with existing Apache sites - sysadmin - Discourse Meta for an example of how to conduits) configure the internal nginx for your reverse proxy ip.

「いいね!」 1

私もこれで苦労しています。

DebianサーバーにApache 2.4 vHostsがあり、そのうちの1つがDiscourse Dockerコンテナです。Apacheではmod_remoteipが有効になっています(mod_extract_forwardedはありませんでしたが)、設定オプションはありません。vHostの設定は非常にシンプルです。

RequestHeader set X-Forwarded-Proto "https"
ProxyPreserveHost On
ProxyRequests Off
ProxyPass /.well-known !
ProxyPass / http://localhost:8083/
ProxyPassReverse / http://localhost:8083/

8083はDiscourse Dockerコンテナの公開されたhttpポートです。

ほぼそれだけです。

Apacheのaccess.logで作成された統計情報でさまざまな訪問者(IP別)を確認でき、さらに重要なことに、ユーザーの最後のIPも確認できます(これは私にとって簡単なチェックでした)。したがって、訪問者のIPアドレスがApacheプロキシを介してDiscourseに公開されているようです。これは、数日前に有効にしたmod_remoteipをオンにする前からすでにそうなっていました。

いずれにせよ、また問題が発生しています。ポーランドのクラクフからのIPv4からのクローラーまたはDoS攻撃がサーバーで実行されています。大量の429エラーが発生しています。それは私にとって問題ありませんが、他のすべての訪問者もこれらのエラーを受け取っています。

これも同様ですか?接続制限に達すると、全員がエラーを受け取るのですか?それともIPごとですか?

私の設定に何か不足しているか、改善/調整できますか?数週間前と数日前にもClaudebotで問題が発生していたので、制限を少し引き上げる必要があるかもしれません。

よろしくお願いします。
Roi

リモートIPアドレスがDiscourseに到達するかどうかを確認するものを追加しましたか、それともすべてのユーザーがプロキシから来ているように見えますか?

x-forwarded-forを検索してください

すみません :see_no_evil: Nginx (Discourse) の部分を忘れていました :see_no_evil: ありがとうございます! :slight_smile:

app.yml を編集して、コンテナの再構築を実行しました。コンテナが再起動するとすぐにボットが戻ってきました。まだ 429 エラーは表示されていません。通常のユーザーにとっては、このままの状態が続くことを願っています。

それが問題なのです… ユーザーの管理ページを確認すると、常に異なる「最終IP」エントリが表示されていました。そのため、mod_remoteip も Nginx の設定変更もなしに、Discourse はユーザーの実際の IP を認識していました。 :man_shrugging:

いずれにしても、Nginx の設定変更がこの問題の解決策をもたらしたかどうかを確認するのが楽しみです! :slight_smile:

「いいね!」 1