安装时出现“500”错误

您好。当我尝试在“推荐”中安装时,在列出该位的列表中,我收到:“500错误”
当我转到预览时,我在页面中间看到这个:

有什么建议可以解释为什么会这样吗?
我猜我的服务连接实际上被拒绝了,但是……为什么。

看起来那不是正确的链接。如果您使用 OP 中的链接,它应该可以正常工作 - GitHub - discourse/discourse-custom-header-links

如果您能告诉我您试图从哪里安装该链接,我将检查是否可以更新它。

当我尝试使用 gitGitHub - discourse/discourse-custom-header-links 时,我遇到了同样的“500 错误”。

嗯。:thinking: 对我来说似乎运行正常(无论是从“热门”部分还是粘贴链接 \u003chttps://github.com/discourse/discourse-custom-header-links\u003e)。

您能否尝试点击 OP 中的“安装此主题组件”按钮作为替代方案?

我不能这样做,因为我明白我的网站,这是一个测试实验室,必须是公开可访问的,对吗?

这或许可以解释旧链接。它是否是最新的?

我认为另一种选择是下载 zip 文件,然后以这种方式上传:

一切似乎都运行正常,sidekiq 也是,没有明显的错误或警告。
其他一些部分 - 例如类别横幅 - 通过流行的 okey 安装。
版本 3.0.5 / 461966e028
我将尝试 zip

1 个赞

供参考,最新的 stable 版本是 3.1(并且 tests-passed 至少是 3.2.0.beta1-dev),所以我认为你确实需要升级。:+1:

1 个赞

不确定这是否奏效——也许是容器的销毁和创建起到了作用——但现在更新到 3.0.6 版本后,Discourse 可以通过 popular 安装 CHL。

1 个赞

我现在所有/任何主题和组件都会收到该错误。
这些是否有效 - 我想知道当我转到“预览”时,我会被重定向到:https://discourse.theme-creator.io/latest,弹出一个窗口和一个按钮“查看主题”,如果我点击它,我会进入“https://discourse.theme-creator.io/c/discourse/1”。

您是如何安装 Discourse 的?这是标准安装吗?您是否已升级到当前的 3.1 版本?

是的。顺便说一句 - “standard”安装是否应该包含dev版本(我的显示为3.2.0.beta1-dev)?

在一些日志中我看到:

Processing by Admin::ThemesController#import as */*
  Parameters: {"remote"=>"https://github.com/discourse/discourse-category-banners"}
  Rendered text template (Duration: 0.0ms | Allocations: 1)
Completed 418  in 2ms (Views: 0.4ms | ActiveRecord: 0.0ms | Allocations: 1273)
Failed to process hijacked response correctly : Timeout::Error : Timeout::Error

我有一个位于主机/节点外部的Nginx代理,这会起作用吗?(一切似乎都正常工作)
从容器内部我可以 curl 那些URI — 那些失败并显示 500 的组件的 视图 — 只是可以。
有没有办法获得更详细的调试信息?
通过 zip 安装的组件似乎工作正常。

是的,默认分支是“测试通过”(另请参阅 https://meta.discourse.org/t/why-does-discourse-always-install-beta-versions-by-default/264400)。
“dev”后缀是最近添加的。
From Discourse 3.2: adding -dev suffix to beta versions under active development

1 个赞

可能是性能问题。内存足够吗?其他东西占用了所有 CPU 吗?

我不这么认为,4 核 8GB 内存,而且它只是一个刚安装的实验室 - 在 Discourse 出现故障的那个瞬间,我可以在容器内 curl 同样的 URI,而且运行正常。

我认为有帮助的是,如果我知道如何让日志更详细/进行调试——如果 devel 在这里看到,或许可以就此提供建议。

tail -f /var/discourse/shared/standalone/log/rails/production.log
或者在容器内部
/shared/log/rails/production.log

回顾一下,我猜你的 Docker 配置有问题,无法访问 GitHub。但我不确定这怎么会发生,因为你是标准安装的,它会从容器内部克隆插件。

这些是我之前粘贴的日志,我仍然希望它们能更详细、更有信息量。

在我上次的评论中,我也提到过,我可以在容器内正常地 curl 那些 组件 的 URI,也就是 Github URI——你认为你说的 Docker 配置可能是真正的问题吗?

1 个赞

一定是多种因素造成的——重建容器、主机的 DNS 等等——现在可以正常工作了,没有 500 错误。

1 个赞