Monikas
(JustMonika)
1
皆さん、こんにちは。
最近、フォーラムのコミュニティ健全性ページ(Discourse管理ダッシュボード → レポート → コミュニティ健全性)で「その他のトラフィック」が急増していることに気づきました。
詳細は以下の通りです。
- 期間:2025年8月上旬頃
- 日次トラフィック:「その他のトラフィック」が1日あたり10万件以上に急増
- 例:2025年8月16日
- ログイン済みページビュー:12,531
- 匿名ページビュー:2,753
- 既知のクローラー:6,865
- その他のトラフィック:102,054(合計124kの大部分を占める)
この「その他のトラフィック」は異常に多く、実際のユーザーアクティビティよりもはるかに高いようです。サインアップ数は安定しているので、実際の成長ではないように見えます。
質問は以下の通りです。
- Discourseにおける「その他のトラフィック」とは、通常何を意味しますか?
- これはボット、スパム、または設定ミスのあるリバースプロキシ/CDNの可能性がありますか?
- このトラフィックを削減またはフィルタリングするにはどうすればよいですか?(例:Nginx、ファイアウォール、Discourseの設定)
- 無視しても安全ですか、それともパフォーマンス/コストに影響しますか?
このようなサードパーティ/ボットトラフィックを適切に処理するための提案やベストプラクティスがあれば、非常に役立ちます。
よろしくお願いします。
「いいね!」 1
「その他のトラフィック」は、ボットまたはクローラーである可能性が高いです。詳細はこちらをご覧ください: Understanding pageviews and the site traffic report
ダッシュボードでクローラーレポートを確認して、原因を特定し、必要であれば速度を落としたりブロックしたりすることができます。その方法に関する詳細は、こちらをご覧ください: Controlling Web Crawlers For a Site
「いいね!」 2
Canapin
(Coin-coin le Canapin)
3
シンガポールからの大量のリクエストで7月に問題が発生しました。IP範囲をブロックしたところ、一時的に効果がありましたが、8月には問題がより深刻化しました(シンガポール、香港、メキシコから)。CDNのコストも高く、予期せぬものとなりました 
Amazonbot、DataForSeoBot、meta-externalagent、SeekportBotなどからの高いページビューに気づきました…
このドキュメント Controlling Web Crawlers For a Site には次のように書かれています。
このリストには、私の最も訪問数の多いボットの一部は含まれていませんが、それでも質問があります。
ブロックされたクローラーユーザーエージェント設定にこのリスト全体を追加することは推奨されますか?
.txtファイルからボット名を一括追加する方法はありますか?
「いいね!」 1
Canapin
(Coin-coin le Canapin)
6
まあ、ボットは anyway CDN 帯域幅を消費するので、これで問題は解決しないと思います。
「いいね!」 1
Jagster
(Jakke Lehtonen)
7
本当にそう確信していますか?もしそうなら、すぐにリバースプロキシを使い始めます。
編集
AIも同じことを言っていました。したがって、リバースプロキシを使用します。
AIの回答
DiscourseのGeoBlockプラグインは、MaxMindDBデータベースを使用して、IPアドレスに基づいてユーザーの国またはネットワーク(ASN)を特定しますが、実際のブロックはアプリケーションレベル(Discourseアプリ内)で行われ、サーバーまたはネットワーク/ファイアウォールレベルではありません。
実際には:
- 訪問者のIPがブロックされた国またはネットワークと一致する場合、Discourseアプリケーションはフォーラムコンテンツの代わりにエラーページを訪問者に返します。
- ブロッキングは、HTTPリクエストがDiscourseアプリケーションに到達するまで発生しません。つまり、ユーザーがブロックされる前に、リクエストはWebサーバー(例:nginx)やDockerコンテナを通過し、Discourseソフトウェアに到達します。
- このため、ユーザーが最終的にDiscourseによってブロックされたとしても、これらのリクエストはサーバーおよびプロキシ/nginxのログに表示されます。
- 「ハード」ブロック(リクエストがDiscourseアプリに到達する前にアクセスを防止する)が必要な場合は、サーバーレベルのGeoIPソリューション(nginx/iptablesレベルのブロックや外部ツールなど)が必要になります。
ソースと詳細情報:
概要:
Discourse GeoBlockプラグインは、ネットワーク/サーバーレベルでリクエストをブロックするのではなく、Discourseアプリケーションがリクエストを処理した後にのみブロックします。アプリケーションがリクエストを確認する前にアクセスを防止する必要がある場合は、サーバーレベルのGeoIPアプローチを使用する必要があります。
共有会話は使用しませんでした。フィンランド語で質問したため、おそらく皆さんは理解できないと思ったからです 
「いいね!」 1
これは、ページがサーバーに到達していることを意味するため、ファイアウォールレベルでのブロックよりもサーバーに近いレイヤーにいることになります。ただし、それがリバースプロキシを必要とするセキュリティ上の問題であるという意味ではありません。
私が提案したツールはすでにリクエストが80%削減されており、Discourseは安全なアプリです。もしサーバーでウェブサイトのような他のものをホストしている場合は、リバースプロキシが役立つかもしれませんが、その間には、Crowdsecのような評判の悪いIPをブロックする他のソリューションがあります。AIにCrowdsec lightについて尋ねてみてください 
「いいね!」 2
RGJ
(Richard - Communiteq)
9
(ジオブロッキングプラグインの作者です)
はい、ジオブロッキングプラグインはアプリケーションレベルでリクエストを停止しますが、それは非常に早い段階で行われます。その理由は、ユーザーフレンドリーなエラーページを表示するように設計されているため、Discourseのアセットをロードしてそのページを表示できる必要があるからです。また、設定されていれば、ブロックされたすべてのブロックを /logs に記録します。
このアプローチのその他の利点は、Discourse内でブロックされた国やネットワークを設定できること、そしてアクセスをブロックするだけでなくモデレーションを強制できることです。
ログの増加やCDN帯域幅の消費が気になる場合は、このプラグインはあなた向けではありませんが、正直なところ、これら2つのことはあまり重要ではないと思います。
「いいね!」 1
system
(system)
クローズされました:
10
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.