命令行重建后出现 500 错误

我正在使用官方 Docker 容器在 Docker 中运行 Discourse:

执行以下命令后:
./launcher rebuild app

我遇到了以下提示:

哎呀

驱动此讨论论坛的软件遇到了意外问题。我们对由此带来的不便表示歉意。

有关错误的详细信息已被记录,并生成了自动通知。我们将对此进行检查。

无需采取进一步操作。但是,如果错误持续存在,您可以通过在网站的反馈类别中发布讨论主题来提供更多详细信息,包括重现错误的步骤。

有人能帮我解决这个问题吗?我收到了这个(见下图)警告,但我不认为这是原因。我没有启用任何插件,也就是说,在 app.yml 文件中,它们的 git clone 仓库已被注释掉。

在重新构建之前尝试执行 git pull

cd /var/discourse
git pull
./launcher rebuild app

我已经执行了 git pull,但遇到了以下问题。

有没有办法恢复数据库并创建一个新的实例?

你需要提供完整的构建日志,你的截图只占很小一部分。请将其粘贴到 Pastebin 或类似服务中,并附上链接。

据我所知,没有任何问题。这些看起来像是重建过程中出现的相当正常的控制台日志。

同意弃用日志是正常的,但它确实返回了 500 错误。

您正在使用哪些插件?

已启用的插件列表如下:
docker_manager
babble
discourse-chat-integration

目前该页面无法加载任何内容,显示为空白。/logs 可以加载,但所有链接均无法使用。/safe-mode 可以加载,但在点击“进入安全模式”按钮后无法继续加载。

以下是构建输出的 Pastebin 链接:
./launcher rebuild app > ~/discourse_build.log

https://pastebin.com/7Za2D7NJ

另外,请尝试运行 ./launcher enter app,然后执行 curl http://localhost:3000,看看输出结果是什么。

curl http://localhost:3000 的输出
https://pastebin.com/wYaA3N5c

谢谢,但这并没有像我预期的那样帮上忙,抱歉!

好的,试试这个:
我用 curl 查看了你的站点标头,

Content-Security-Policy: base-uri 'none'; object-src 'none'; 
script-src 'report-sample' http://mechassaultonline.com/logs/ 
http://mechassaultonline.com/sidekiq/ 
http://mechassaultonline.com/mini-profiler-resources/ 
http://mechassaultonline.com/assets/

等等。所以首先将 containers/app.yml 中的站点名称改为 www.mechassaultonline.com 并重新构建,然后在 https://www.mechassaultonline.com/admin/site_settings/category/all_results?filter=https 勾选强制 HTTPS 复选框。这样应该就能解决问题了!

结合了那个和这个 →

看起来一切已正常运行。感谢所有帮助!