Discourse AI 内部服务器错误

我正在通过自托管的 docker 在 ubuntu 虚拟机上运行 Discourse。我已经成功安装了 Discourse AI 插件,所有设置都显示在管理员面板上,但是当我尝试使用任何 AI 服务或在管理员面板上测试它们时,我遇到了这些错误。坦白说,我不知道这里发生了什么,我可以用 curl -I 在 docker 中 ping 通 OpenAI 的 API 和 Google 的 API,但实际的 Discourse AI 实现似乎存在一个远远超出我能力范围的错误。

该站点通过 cloudflare zero trust 运行,这是否有任何区别?

Timeout::Error (Timeout::Error)
lib/final_destination/resolver.rb:31:in `block in lookup'
lib/final_destination/resolver.rb:8:in `synchronize'
lib/final_destination/resolver.rb:8:in `lookup'
lib/final_destination/ssrf_detector.rb:128:in `lookup_ips'
lib/final_destination/ssrf_detector.rb:96:in `lookup_and_filter_ips'
lib/final_destination/http.rb:15:in `connect'
app/controllers/application_controller.rb:427:in `block in with_resolved_locale'
app/controllers/application_controller.rb:427:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:35:in `call'
lib/middleware/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:410:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
lib/middleware/default_headers.rb:13:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/processing_request.rb:12:in `call'
lib/middleware/request_tracker.rb:385:in `call'

编辑:

选择“禁用原生工具支持(使用基于 XML 的工具)(可选)”复选框,使用 openai 现在使测试运行的成功率为 50%,但对 gemini 无效。如果说有什么的话,我认为这让我更加困惑。

1 个赞

抱歉将此重新归类为支持,但从错误来看,您的容器在解析 DNS 时超时了。

这强烈表明主机上的 DNS 配置不正确,/ 或使用了缓慢/次优的解析器。
此特定错误与 Cloudflare 无关。

2 个赞

这个 def 应该先去支持部门,上周的服务器设置和 discourse 设置让我脑子有点混乱,谢谢!

最终解决了,不确定我做的三个更改中的哪一个起作用了。但为了方便将来的人。

  1. 将 DNS 从 google DNS 更改为 cloudflare DNS
  2. 将 Ubuntu VM 分配的资源从 4c8t 增加到 8c16t,并将内存从 16gb 增加到 32gb
  3. 将独角兽的数量从 8 增加到 16
1 个赞

这很可能是原因,Google DNS 很好,但也许您的 droplet / VM / 其他设备无法正确路由到它。