是的,抱歉,这里的错误消息需要改进。当您看到此错误消息时,自动注册失败了。我们应该修复核心部分,以显示您遇到的错误。
如果您再次尝试启用 ID,并在您的实例上转到 /logs,您是否看到那里报告了任何错误?
是的,抱歉,这里的错误消息需要改进。当您看到此错误消息时,自动注册失败了。我们应该修复核心部分,以显示您遇到的错误。
如果您再次尝试启用 ID,并在您的实例上转到 /logs,您是否看到那里报告了任何错误?
没有,什么都没有。刚试过。最后一条日志是周日的。
请打开您实例的 Rails 控制台并尝试运行以下命令:
DiscourseId::Register.call
它很可能会失败,但应该会给您一个更有用的错误消息。
具体是哪个命令?
我尝试了:rake DiscourseId::Register.call
root@prometheus-discourse-concarne:/var/www/discourse# rake DiscourseId::Register.call
rake aborted!
Don't know how to build task 'DiscourseId::Register.call' (See the list of available tasks with `rake --tasks`)
Did you mean? discourse_calendar:install:migrations
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
(See full trace by running task with --trace)
然后我尝试了 rails r \"DiscourseId::Register.call\",它在控制台没有任何返回。
/编辑:抱歉,我没有提到,它没有激活或创建任何东西。当我尝试启用 Discourse ID 时,我仍然收到相同的错误消息。
你需要这样做:
./launcher enter app
rails c
DiscourseId::Register.call
哦。看起来 rails r 就是这么做的。抱歉。我不知道那个。但从我刚收到的输出来看,至少在 rails 控制台中不可能没有任何输出。
是的。我尝试了 rails r,它没有产生任何输出,所以你需要按照指示运行 rails 控制台。
您需要通过控制台进行操作,正如 Pfaffman 所指出的。DiscourseId::Register.call 不是一个 rake 任务。
感谢 @pfaffman 和 @pmusaraj,现在可以了。而且我大概知道这里(所有实例因为配置相同)发生了什么……
“注册失败:400\n错误:{\“errors\”:[“您向请求提供了无效参数:域验证失败:获取 https://forum.concarne.org/.well-known/discourse-id-challenge 失败,错误代码:404”],\“error_type\”:\“invalid_parameters\”}”
如前所述,我的 Discourse 部署在 Apache Web 服务器后面。对于 Let’s Encrypt 证书挑战,我对 .well-known 目录的查询有一个例外。
马上回来,我正在尝试更改它。
是的,就是这样!
到目前为止,我一直使用 ProxyPass /.well-known !,我已将其更改为 ProxyPass /.well-known/acme-challenge !
也许应该将此添加到设置自托管 Discourse 实例的说明(我现在找不到……)中?
RequestHeader set X-Forwarded-Proto "https"
ProxyPreserveHost On
ProxyRequests Off
ProxyPass /.well-known/acme-challenge !
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
感谢你们对我如此耐心。 ![]()