突然出现“请求的 URL 或资源未找到。”

I’ve had a Discourse instance running happily for over a month, until just about an hour ago. Now I’m getting:

  • frequent “The requested URL or resource could not be found.” when loading any page.
  • periodic “you don’t have access to that category” errors
  • random logouts
  • random “You don’t have access to that topic errors”

Any clues how to debug or fix this? At least for me my forum is pretty unusable, and I suspect that this is also affecting other users…

Just confirmed that this is also affecting my other admin user.

So at this point this seems related to my IP address. Switching to another router and things work again. Switch back and they are broken again.

One important note is that I accidentally ran a script that made a bunch of API calls right before this started. So I’m wondering if that triggered a per-IP ban somewhere…

Apparently this is a widespread problem for my users.

I’m not sure what to do at this point. Are there some commands that I can run to check the database for issues, clear out state from various Discourse components, etc.?

As another follow up, this seems to be related to logout and suspend functionality. At some point today one of my scripts broke, which caused all users to be suspend and logged out using the API functionality. Somehow that seems to have borked the session state causing the problems I described above.

Deleting all user sessions using the API seems to have cleared things up… I hope. Not sure what caused the initial problem however, since it seems reasonable to expect the suspend and logout APIs to not cause this problem…

Spoke too soon—this is still happening. Seems confined to my user at this point. Now it is manifesting itself as sudden logouts after just a minute or two.

Any help with this? It’s super confusing and disconcerting. Note that this still has the strange IP address dependency that it did previously, in case that’s helpful. Moving to a different subnet solves the problem.

Have you checked the screened IPs list? It’s available at example.com/admin/logs/screened_ip_addresses.

Yup, did that. Nothing unusual there.

What’s so weird about this is how episodic it is. Right now I’m logged in to my forum and things are working fine. But in a few minutes, I’ll suddenly be logged out. (Somehow this always happens right in the midst of a hugely enlightening post, of course.)

I’ve seen notes from @sam about the session coherency protocol, so I’m wondering if I’m triggering some instability or corner case there…

Am having the same problem also. This is a recent issue for me since I have been running discourse for close to 6 months with no problem. Also after getting logged out once I try to log in again I get

The requested URL or resource could not be found.

After this once I reload the site everything returns to normal for a while.

Sorry about this! It’s very frustrating.

I wish I could remember what I did that solved the problem. I think there was some stale data stuck in a cache somewhere, but it was far from clear how to fix it. If you’re really stuck let me know and I’ll try digging into our server logs in case there’s anything useful…

Just got this on the homepage and have never seen this before. Didn’t do anything recently to cause this (i.e. update)

Any ideas yet what’s caused this?

P.S. I have also experienced your referenced “you don’t have access to that category” errors randomly in the past, when a reload (maybe 2 or 3) loads fine.

Now it’s back 5 minutes later…

Any thoughts on this @sam? Ideas for troubleshooting is fine.

I am not sure if this totally applies, but I just had something like this happen to me. I am running through a script I wrote with the Discourse API. I changed one of my SSO settings which incidentally changed my discourse admin username to something else. Since I have to make API calls with my API key and my API username, I started receiving this message after a happy day of scripting. Since my discourse api_username changed, the calls were rejected.

If anyone has this problem, here are your two simple options:
A) Change the api_username to the new discourse username in your script
B) Change the discourse username in the site front-end to match the api_username you are sending.

Again, this may not help @jesselperry but might help others since I landed on this thread during troubleshooting.

I suddenly had the same problem.

Fortunately it’s a development instance and I happened to have an api key, so I solved it by logging out all users with curl:

url=http://...; key1=api_key=...; key2=api_username=...; curl -sS $url/admin/users/list/active.json?$key1\&$key2 | pcregrep -o1 '"id":(\d+)' | while read id; do echo -n $id$'\t'; curl -sS $url/admin/users/$id/log_out -F$key1 -F$key2; echo; done

Any users still on the platform see this:

logout

此问题在我们从 Discourse 1.9 升级到 2.3 后开始出现。

我们一直使用一个名为 MealMentor 的系统账户。我花了好几个小时检查设置并轮换密钥,但都无法解决“请求的 URL 或资源未找到”的错误提示。于是我决定将 api_username 更改为我的个人管理员账户 Scott_Team_MM,问题随即得到解决。

我们的应用在上周三开始出现同样的问题,此前已在生产环境运行数月。我们使用的是 Discourse 2.8 版本。重启 Docker 容器暂时解决了该问题,但今天早上问题再次出现。我们在 Discourse 上使用了单点登录(SSO),因此对于更改任何用户名都持谨慎态度,除非:a) 确定这能解决问题,并且 b) 理解其为何能解决问题。我意识到这是一个旧话题,但这是我找到的唯一准确描述我们所遇症状的地方。

我的用户也开始遇到这个问题。当用户尝试编辑已有帖子时,问题就会出现;经过 5 到 10 分钟的尝试后,编辑才能保存成功。

我使用的是最新版本的 Discourse,并且已经重启了 Docker 容器。

是否有最新的缓解指南?除了让用户“继续尝试”之外,我真的不知道还能告诉他们什么。:slightly_frowning_face:

遇到同样的问题。甚至尝试了 ./launcher app rebuild,但毫无进展。有什么办法可以解决这个问题吗?

具有相似症状的较小故障的潜在原因如下: