Discourseの投稿で「投稿全体を表示」をクリックすると422 Unprocessable Entityが発生

こんにちは、
ここで何か助けが得られることを本当に願っています。ウェブを検索しましたが、私と同じケースは見つかりませんでした。

私は WordPress と Discourse をテストしています。それぞれ単独では問題なく動作しますが、WP プラグインを使用すると問題が発生します。
WordPress の投稿を公開すると、プラグインの意図通り Discourse にトピックが作成されます。トピック自体も正しく作成されています。しかし、「投稿全文を表示」ボタンをクリックすると、WordPress の投稿が展開されません。

ブラウザのコンソールには、以下のようなエラーが表示されます:

Request URL: http://forum.sadzinica.pl/posts/19/expand-embed  
Request Method: GET  
Status Code: 422 Unprocessable Entity  
Remote Address: 192.168.0.15:80  
Referrer Policy: strict-origin-when-cross-origin  
Cache-Control: no-cache, no-store  
Connection: keep-alive  
Content-Type: application/json; charset=utf-8  
Date: Tue, 12 Jan 2021 09:07:49 GMT  
Referrer-Policy: strict-origin-when-cross-origin  
Server: nginx/1.14.2  
Set-Cookie: __profilin=REMOVED; path=/; HttpOnly; SameSite=Lax  
Transfer-Encoding: chunked  
X-Content-Type-Options: nosniff  
X-Discourse-Route: posts/expand_embed  
X-Discourse-Username: admin  
X-Download-Options: noopen  
X-Frame-Options: SAMEORIGIN  
X-Permitted-Cross-Domain-Policies: none  
X-Request-Id: b904c2d5-2088-4193-be0c-f36b497d716e  
X-Runtime: 0.021514  
X-XSS-Protection: 1; mode=block  
Accept: application/json, text/javascript, */*; q=0.01  
Accept-Encoding: gzip, deflate  
Accept-Language: pl-PL,pl;q=0.9,en-GB;q=0.8,en;q=0.7,de-DE;q=0.6,de;q=0.5,en-US;q=0.4,it;q=0.3,es;q=0.2,ro;q=0.1,it-IT;q=0.1  
Connection: keep-alive  
Cookie: __profilin=REMOVED; _t=REMOVED; _forum_session=I-REMOVED-IT  
Discourse-Logged-In: true  
Discourse-Present: true  
Discourse-Track-View: true  
Host: forum.sadzinica.pl  
Referer: http://forum.sadzinica.pl/t/zebranie-wiejskie-w-sprawie-x/15/3  
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36  
X-CSRF-Token: 1ke5PaosmJ5gYeRpUs6ZkMWD+H4zaovMmVr3JPPNXeuidSmhdD2FmkeBaTgrH0TUuU+GrH/+OV0c338W/4RbjA==  
X-Requested-With: XMLHttpRequest  

また、jQuery エラーも表示されます:

XMLHttpRequest.send | @ | includes.js?v=10da95…f1bd50fe50ed714:819  
  | send | @ | _ember_jquery-189e46…649161a18d.js:10113  
  | ajax | @ | _ember_jquery-189e46…6649161a18d.js:9696  
  | i | @ | _application-525b557…c2ebdfb8509.js:9229  
  | (anonymous) | @ | _ember_jquery-189e46…649161a18d.js:72238  
  | n | @ | _ember_jquery-189e46…649161a18d.js:72760  
  | i | @ | _application-525b557…c2ebdfb8509.js:9242  
  | expand | @ | _application-525b557…2ebdfb8509.js:16991  
  | expandFirstPost | @ | _application-525b557…2ebdfb8509.js:78560  
  | (anonymous) | @ | _application-525b557…2ebdfb8509.js:82798  
  | value | @ | _application-525b557…2ebdfb8509.js:82756  
  | value | @ | _application-525b557…2ebdfb8509.js:82794  
  | click | @ | _application-525b557…2ebdfb8509.js:78431  
  | (anonymous) | @ | _application-525b557…2ebdfb8509.js:75834  
  | (anonymous) | @ | _application-525b557…2ebdfb8509.js:75733  
  | value | @ | _application-525b557…2ebdfb8509.js:82756  
  | k | @ | _application-525b557…2ebdfb8509.js:75732  
  | (anonymous) | @ | _application-525b557…2ebdfb8509.js:75833  
  | dispatch | @ | _ember_jquery-189e46…6649161a18d.js:5443  
  | d.handle | @ | _ember_jquery-189e46…6649161a18d.js:5247  

私の環境設定:
Ubuntu 20.04 LTS の仮想マシン(VM)内に WordPress と Discourse をインストールしています。この VM は Linux 上の VirtualBox で実行されています。ローカルネットワーク内でテストしており、独自の DNS を使用して VirtualBox VM をホストするマシンにリダイレクトしています。2 つの nginx リバースプロキシを使用しています。最初の nginx は Ubuntu VM 内で、VM 内の Docker コンテナのポート/Unix ソケットへのリクエストを転送します。その後、VirtualBox 経由でホストマシンのポート 8000 に転送され、さらに別の nginx がリバースプロキシとして機能し、これをホストマシンのポート 80 にマッピングします。
この設定は、ローカル環境で動作を確認した後に、実際の VPS 上で WordPress と Discourse を実行することを想定してテストしています。

必要であれば、さらに詳しい情報をお伝えできますので、お知らせください。よろしくお願いいたします!

@dgtal1 さん、こんにちは。返信が遅くなり申し訳ありません。この問題はまだ発生していますか?また、この特定の投稿だけでしょうか、それともすべての投稿で発生していますか?

私は、この問題が WordPress の投稿そのもののコンテンツに関連しており、それがリクエストを起動しているのではないかと推測しています。

古い投稿をぶつけて申し訳ありませんが、私も同様の問題を抱えています。ただし、WordPressではなくDrupalです。以前はこの問題を解決しようとしてコンテンツセキュリティポリシーを無効にしましたが、今は「投稿全体を表示」ボタンをクリックすると422 Unprocessable Entityが表示されます。この壊れたボタンの機能は、新規投稿だけでなく、投稿されたすべての記事で発生しているようです。切り捨てが有効になっている古い記事も影響を受けています。

私のインストールはCloudflareの後ろにありますが、WAFエリアやマネージドルールからリソースがブロックされていることを示すセキュリティイベントログは表示されていません。これを解決するために次に何をすべきか本当にわかりません。

@spectrum 様、お手数ですが、以下の詳細情報を含めて、別途 Support トピックを開設していただけますでしょうか。

  1. ログ(このトピックの最初の投稿のようなもの)
  2. 可能であれば、Discourse および Drupal の関連投稿へのリンク

すべての 422 エラーが同じではありません。上記の場合、投稿の内容が原因であった可能性が高いです。

*注:この投稿は WordPress や WP Discourse プラグインに関するものではないため、Support > WordPress から Support に移動しました。

「いいね!」 1

これは、このトピックで解決されたのと同じ問題ですか @spectrum

「いいね!」 2

はい、そうです!返信が遅れて申し訳ありません。サーバーからIPアドレスがブロック解除された後に、これが機能していることを確認できました。トラブルシューティング中にこのスレッドにも連絡したことを忘れていましたので、申し訳ありません!これを読んだ他の人も同様の問題の解決に役立つことを願っています。

「いいね!」 2