LetsEncrypt验证错误

我已经按照教程设置了自托管 Docker 环境并使用 Let’s Encrypt 启用了 HTTPS。

它总是在下面的步骤失败。不使用 HTTPS 的设置工作正常,论坛可以通过 HTTP 公开访问。

root@discoursetest3-app:/shared/letsencrypt# cat acme.sh.log

[Mon 11 Apr 2022 02:56:35 PM UTC] discourse-test3.docentric.com:Verify error:Fetching http://discourse-test3.docentric.com/.well-known/acme-challenge/iEFjgyseuVL1IzIrTjmfhwv0HqV7EgUmQUVhy1nmnCE: Timeout after connect (your server may be slow or overloaded)

似乎无法访问 ACME 挑战。

您是否阅读了该指南的第一句话,其中提到如果您执行标准安装,则无需遵循该指南?

这是最近的标准安装吗?您是否运行了 discourse-setup

看起来您可能阻止了端口 80(或许还有端口 443)的入站连接。

1 个赞

奇怪的是,第一个可以工作,但第二个不行:

○ → curl http://discourse-test3.docentric.com/srv/status
ok

○ → timeout -v 5s curl http://discourse-test3.docentric.com/.well-known/acme-challenge/iEFjgyseuVL1IzIrTjmfhwv0HqV7EgUmQUVhy1nmnCE
timeout: sending signal TERM to command ‘curl’

如果这是一个标准设置,我不确定是什么原因导致了这种情况。

1 个赞

这是一个旧的测试安装,没有 HTTPS,现在我想启用 HTTPS。
我尝试手动编辑 app.yml,也尝试运行 discourse-setup。在这两种情况下,错误都是相同的。
我也尝试删除 Discourse(容器和文件)并从头开始安装,但结果是一样的。
我同意这看起来端口 80 不可用,但如果我在 app.yml 中注释掉以下两行,论坛就可以在 HTTP 上正常运行。

  • “templates/web.ssl.template.yml”
  • “templates/web.letsencrypt.ssl.template.yml”

磁盘上的静态文件在哪里,例如 http://discourse-test3.docentric.com/.well-known/acme-challenge/iEFjgyseuVL1IzIrTjmfhwv0HqV7EgUmQUVhy1nmnCE?

原来只是 ACME 协议在公司防火墙上被阻止了。现在可以了 :slight_smile:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.