安装产生了零字节密钥且没有证书

我按照 discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub 中的安装说明安装了 Discourse。(Digital Ocean 实例)

安装完成后,我尝试在浏览器中访问该站点,但收到“连接被拒绝”的错误。

一些值得关注的信息:

ls -l /var/discourse/shared/standalone/ssl/
-rw-r--r-- 1 root root 0 Jun 15 11:26 forums.MYDOMAIN.com.key
-rw-r--r-- 1 root root 0 Jun 15 11:26 forums.MYDOMAIN.com_ecc.key
./launcher logs app | grep letsencrypt
run-parts: executing /etc/runit/1.d/ **letsencrypt**
[Tue 15 Jun 2021 11:26:09 AM UTC] **请检查日志文件以获取更多信息:/shared/letsencrypt** /acme.sh.log
[Tue 15 Jun 2021 11:26:09 AM UTC] **请检查日志文件以获取更多信息:/shared/letsencrypt** /acme.sh.log
cat: /shared/ **letsencrypt** /forums.MYDOMAIN.com/forums.MYDOMAIN.com.key: 没有那个文件或目录
[Tue 15 Jun 2021 11:26:10 AM UTC] **请检查日志文件以获取更多信息:/shared/letsencrypt** /acme.sh.log
[Tue 15 Jun 2021 11:26:10 AM UTC] **请检查日志文件以获取更多信息:/shared/letsencrypt** /acme.sh.log
cat: /shared/ **letsencrypt** /forums.MYDOMAIN.com_ecc/forums.MYDOMAIN.com.key: 没有那个文件或目录

我已多次运行安装过程,结果相同。对于下一步操作,有什么建议吗?

1 个赞

纯属猜测,但您该不会是在 Netlify 上托管网站吧?

编辑:我在他们那里也遇到了同样的错误。

谢谢,Seth,我没有。

注释掉 SSL 后重新构建应用可以正常工作。因此,错误出在 Let’s Encrypt 部分。我不认为触达了限制,因为当我查询证书时,该站点没有任何记录。

在命令行运行并未提供更多信息:

LE_WORKING_DIR=/shared/letsencrypt /shared/letsencrypt/acme.sh --issue -d community.grazinggrass.com -k 4096 -w /var/www/discourse/public --debug

当我添加 --server letsencrypt 时,出现以下错误:

MYDOMAIN.com:验证错误:获取 http://MYDOMAIN.com/.well-known/acme-challenge/xDUsp83k9OJ-FjyBhihad1_WH2ixnliN7rU0JBUp7Zg:连接被拒绝
1 个赞

完全一样的问题!我之前尝试通过运行命令 acme.sh --register-account -m my@example.com 并填入我的邮箱进行注册,看起来已经注册成功了,但重新安装 Discourse 时仍然出现完全相同的错误。

1 个赞

我也做了同样的事,@dmitchell。没有变化。

1 个赞

成功通过强制将 letsencrypt 设为 acme.sh 脚本的默认 CA 使其正常工作。运行以下命令即可:

./acme.sh --set-default-ca  --server  letsencrypt

然后重新构建应用。

2 个赞

这听起来像是一个 bug,而且已有其他报告,并且你们已经有了解决方案。我尚未亲自核实,但我会将其移至 #bug。

1 个赞

这对我来说不起作用。也许我漏掉了某一步?

1 个赞

我在 /var/discourse/shared/standalone/letsencrypt 上运行了它,但同时也更新了同一目录下的 account.conf,添加了以下选项:

DEFAULT_CA="https://acme-v02.api.letsencrypt.org/directory"

不确定是哪一步起了作用!

3 个赞

我可以复现此问题。刚在 DigitalOcean 上完成安装,发现连接被拒绝。同时确认密钥文件大小为零:

root@jomaxro-letsencrypt-testing:/var/discourse# ls -l /var/discourse/shared/standalone/ssl/
total 0
-rw-r--r-- 1 root root 0 Jun 16 16:31 le-testing.demo-by-discourse.com.key
-rw-r--r-- 1 root root 0 Jun 16 16:31 le-testing.demo-by-discourse.com_ecc.key
1 个赞

我点了赞,只是想确认一下你的解决方案对我来说也有效。

看起来这对擅长此类工作的人来说应该是个简单的修复。

正在修复中,请稍候。

2 个赞

我重新构建应用后,现在可以正常工作了。

1 个赞

这应该已经通过以下链接修复:

5 个赞

CA 是否应该在执行安装命令之前设置?

1 个赞

很抱歉,感谢您的反馈!

1 个赞

你执行了 git pull 并重新构建了吗?

2 个赞

此主题已在 2 天后自动关闭,不再允许新回复。