F5ファイアウォールの背後にあるDiscourseインスタンスで「要求されたURLは拒否されました。」と表示される

community.subtchallenge.com は、Discourse のサードパーティ製インストール版で、私はユーザーとして利用したいと考えています。なぜそのフォーラムに投稿できないのか、何時間もデバッグに費やしてきました。異なるブラウザ、コンピュータ、オペレーティングシステム、IP アドレス、大陸など、あらゆる環境を試しましたが、「投稿を作成」ボタンをクリックした結果は、前述のどの条件でも以下のいずれかになりました。

  1. 投稿が正常にモデレーションキューに入れられ、「キューで待機中の投稿数」を示す通知が届いた(これは短いテストメッセージの場合のみ発生しました)。

  2. 投稿がキューに入れられなかった(フォーラムの管理者とメールで確認済み)上、存在しないページにリダイレクトされました。ネットワーク通信を確認すると、/posts への POST リクエストがあり、その結果は以下の通りでした。

     要求された URL は拒否されました。管理者にお問い合わせください。
     サポート ID: 18286718686107272025
    
  3. 投稿が視覚的に隠され、ページ下部に青い「バー」のみが表示され、進行状況を示す円が無限に回転し続けるだけで、他の動作は一切ありませんでした。数分間待ってみましたが、回転は止まりませんでした。ネットワークログでは POST /posts リクエストが送信されたことが示されていましたが、応答は受け取れませんでした。この現象が発生すると、通常はさらに深刻な問題が生じました。例えば、再ログインができなくなりました(ログインページは読み込まれるものの、ログインフォームが送信されなかったのです)。これは IP アドレスのサイレントな禁止のようなものでした(IP アドレスを変更すると通常は解決しました)。

私は、投稿の内容に注意することで、現象 2.(おそらく 3. も)を回避できることに気づきました。投稿にアポストロフィ、引用符、または改行が含まれている場合、エラー 2. が 100% の確率で発生しました。また、投稿が 1000 文字を超える場合も同様のエラーが発生しました。

この挙動は誰かにお心当たりはありませんか?フォーラムの管理者にどのような助言ができるでしょうか?

ご提案をお待ちしています。

Discourse のセーフモードで試しましたか?ウェブブラウザのセーフモードで試しましたか?

Discourse のセーフモードのヒントをありがとうございます。私はその存在を知らませんでした。残念ながら、このフォーラムでは何らかの理由で機能していないようです。ログインしていない状態で community.subtchallenge.com/safe-mode にアクセスすると、ログイン画面が表示されるだけです。ログインした状態で同じ URL にアクセスすると、「おっと、このページは見つかりませんでした」というエラーページが表示されます。もしかすると、機能に干渉するカスタムの .htaccess 設定があるのかもしれません。

ブラウザのセーフモードは試していませんが、新規インストールしたマシン(VM、VPS)から複数のブラウザで試したため、ブラウザのセーフモードでは何も変わらないと考えています。試したブラウザは Firefox、Chromium、w3m(まあ、ここではゲームはできませんが)、Palemoon、Opera です。

設定が不適切なアプリケーションファイアウォールが原因の可能性があります。

ヒントをありがとうございます、これが解決策かもしれません。ただし、彼らはすでに「問題をIT部門に引き渡した」としており、IT担当者は自社の側には問題がないと述べています。これでは検証できない主張が残されてしまいます :frowning: 彼らにファイアウォールの設定を特に確認するよう依頼します。

ファイアウォールの設定ミスという観点からこの問題を考えてみると、非常に理にかなっています。おそらく何らかの「AI」分析を試みているのでしょうが、それは私のテスト以外の投稿には明らかに機能しないはずです。

これは この問題 のようですね:

あなたの HTTP は、F5 Networks の「Application Security Manager (ASM)」と呼ばれるファイアウォールによってブロックされています。以下のようなメッセージを出力します:

管理者に相談してください。
あなたのサポート ID は:xxxxxxxxxxxx

つまり、あなたのアプリケーションが何らかのデータを送信しており、ASM がそれを脅威として検知しています。サポート ID をネットワークエンジニアに提供し、具体的な原因を確認してください。

F5 のドキュメントによると、これは ファイアウォールがリクエストをブロックしたことを示しています

このメッセージは、ASM がリクエストをブロックしたことを示しています。ログメッセージ(/var/log/asm)でサポート ID を検索してください。一致するログメッセージにより、さらに詳しい情報が得られます。