无法将用户升级为管理员 - 未处理的服务器错误

我尝试搜索答案,如果我错过了什么,我很抱歉,但我无法将 2 个用户升级为管理员(自托管),并且在点击授予管理员按钮时收到未处理的服务器错误。

有什么想法吗?

在 Discourse 日志中有什么有用的信息吗?{community.example.com}/logs/ ?

1 个赞

目前没有什么明显的问题,但我会更详细地审查。

我过去发现日志中的错误最初似乎与我遇到的问题无关,但时间戳表明情况并非如此,所以最好触发问题并检查该时间戳,然后报告确切的错误——这里的人(通常不是我)非常擅长根据错误找出问题。

1 个赞

除了 /logs,您还可以尝试安全模式,看看错误是否仍然发生,并在您尝试单击按钮时检查浏览器控制台是否有任何错误。 :+1:

@JammyDodger 感谢提供提示,在安全模式下似乎仍然失败,但值得一试。

@rorycb 日志中出现了以下行:

Job exception: Failed to open TCP connection to (redacted) (Cannot assign requested address - connect(2) for “(redacted)” port 443)

1 个赞

它似乎在发送确认电子邮件时遇到了困难。您绝对应该调查一下是什么原因造成的,但我认为短期内一个可能的解决方法是为您的管理员帐户添加双因素身份验证(这本身也是个好主意),并且授予管理员权限将使用该身份验证,而不是电子邮件确认。

感谢 @JammyDodger,我开始怀疑是不是这个问题,我会解决它然后重试。

*编辑 → 为两者启用了 2FA,但仍然收到未处理的服务器错误。

1 个赞

来自 /var/discourse/shared/standalone/log/rails/production.log 的一些附加详细信息

Started PUT "/admin/users/30591/grant_admin" for (IP redacted) at 2023-08-30 15:01:47 +0000
Processing by Admin::UsersController#grant_admin as */*
Parameters: {"user_id"=>"30591"}
Completed 403 Forbidden in 12ms (Views: 0.3ms | ActiveRecord: 0.0ms | Allocations: 1492)

为了确保万无一失,您是为授予管理员权限的人启用了它,而不是为获得管理员权限的人启用的,对吗?

1 个赞

该帐户已启用双重身份验证,该帐户允许将管理员权限授予他人。

1 个赞

这里有什么建议吗?我们遇到了同样的问题。我在 production.log 文件中看到了同样的 403 错误。前端返回 503。