在 Discourse 帖子中点击 "Show full Post" 时出现 422 Unprocessable Entity

Hello,
I’m really hoping I can get some help here. Browsed the web, but couldn’t fine a case matching mine.

I’m testing Wordpress with Discourse. Separately they both work just fine. However I’ve got an issue when using the WP plugin.
When I publish a WP post, a topic gets created in Discourse using the plugin as desired. The topic itself is created correctly. However when I click the “Show full Post” button the WP post doesn’t get expanded.
In the browser console I see an error like this:

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

And a jquery error:

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

My setup: WP and DIscourse installed inside Ubuntu 20.04 LTS VM running on Virualbox under Linux. I’m testing withinmy local network with my own DNS directing to the host hosting the Virtualbox VM. I use 2 nginx reverse proxies. The first one in Ubuntu VM redirects requests to/from VM docker containers ports/unix sockets
Then this is forwared by Virtualbox to port 8000 on the host and then another nginx does reverse proxy to map this to port 80 of the host machine (host hosting the VM).
I’m testing this to simulate a real setup as I want to run both Wordpress and Discourse inside a VPS when I get everything working locally.

Please let me know if you need more info. Thank you!

Hey there @dgtal1 apologies for the slow reply here. Are you still experiencing this issue? Also, was it just this specific post, or all posts?

I suspect this one has something to do with the content of the wordpress post itself, which seems to be initiating a request.

抱歉打扰了旧帖,但我也遇到了这个问题,不过是在 Drupal 中,而不是 WordPress。我之前禁用了内容安全策略来尝试解决这个问题,但现在点击“显示完整帖子”按钮时看到了 422 Unprocessable Entity 错误。这个损坏的按钮功能似乎影响了所有已发布的文章,而不仅仅是新文章。启用截断的旧文章也受到影响。

我的安装位于 Cloudflare 之后,但我没有看到任何安全事件日志表明资源被 WAF 区域或托管规则阻止。我真的不知道接下来该如何解决这个问题。

@spectrum,您能否另外开启一个 Support 主题,并提供更多详细信息,包括:

  1. 一些日志(例如此主题中的第一个帖子)。
  2. 如果可能,提供指向 Discourse 和 Drupal 相关帖子的链接。

并非所有 422 错误都相同。在上述情况下,这很可能是由于帖子的内容引起的。

*请注意,我已将您的帖子从 Support > WordPress 移至 Support,因为这与 WordPress 或 WP Discourse 插件无关。

1 个赞

这是已在此主题中解决的同一个问题吗 @spectrum

2 个赞

是的,正是如此!抱歉耽误了。我确认这已经可以正常工作了,因为我们的服务器已解除对某个 IP 地址的封锁。我忘了在排查问题时也曾在这个帖子里求助过,所以很抱歉!希望这能为遇到类似问题的其他人指明正确的方向。

2 个赞