更新后使用旧的ssl证书而不是letsencrypt?

更新后,Discourse 正在使用我认为是一个我很久以前使用的非常旧的 SSL 证书,而不是 Let’s Encrypt 证书。

我相信我很久以前使用过 StartCom,但早已切换到 Let’s Encrypt。

我的 app.yml 包含:

templates:
  - "templates/cron.template.yml"
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/sshd.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"

不知何故,它已恢复使用旧证书。

有什么建议可以解决这个问题吗?

我重建了以确切地查看它说了什么,它显示:

I, [2025-10-06T06:29:29.144007 #1]  INFO -- : File > /etc/runit/1.d/install-ssl  chmod: +x  chown:
I, [2025-10-06T06:29:29.144328 #1]  INFO -- : Replacing # after ssl with if [ -n "$LETSENCRYPT_ACCOUNT_EMAIL" ]; then
  if [[ ! "$LETSENCRYPT_ACCOUNT_EMAIL" =~ ([^@]+)@([^\\.]+) ]]; then
    echo "LETSENCRYPT_ACCOUNT_EMAIL is not a valid email address"
    exit 1
  fi
  /usr/local/bin/configure-ssl
  exec /usr/local/bin/configure-letsencrypt
else
  echo "LETSENCRYPT_ACCOUNT_EMAIL ENV not set. Skipping Let's Encrypt setup."
fi
# after ssl in /etc/runit/1.d/install-ssl
I, [2025-10-06T06:29:29.149199 #1]  INFO -- : File > /usr/local/bin/configure-ssl  chmod: +x  chown:
I, [2025-10-06T06:29:29.149595 #1]  INFO -- : > curl https://raw.githubusercontent.com/acmesh-official/acme.sh/3.0.6/acme.sh > /opt/acme.sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  215k  100  215k    0     0   989k      0 --:--:-- --:--:-- --:--:--  993k
I, [2025-10-06T06:29:29.388552 #1]  INFO -- :
I, [2025-10-06T06:29:29.388677 #1]  INFO -- : > chmod +x /opt/acme.sh
I, [2025-10-06T06:29:29.390922 #1]  INFO -- :
I, [2025-10-06T06:29:29.395637 #1]  INFO -- : File > /usr/local/bin/configure-letsencrypt  chmod: +x  chown:
I, [2025-10-06T06:29:29.399975 #1]  INFO -- : File > /usr/local/bin/letsencrypt  chmod: +x  chown:

所以看起来它正在执行 Let’s Encrypt 的相关操作,但出于某种原因使用了不同的证书。

我可以看到我以前使用的证书/当前证书位于:

/var/discourse/shared/standalone/ssl/forum.keyboardmaestro.com.cer
/var/discourse/shared/standalone/ssl/forum.keyboardmaestro.com_ecc.key
/var/discourse/shared/standalone/ssl/forum.keyboardmaestro.com_ecc.cer
/var/discourse/shared/standalone/ssl/forum.keyboardmaestro.com.key

但它似乎正在获取

/shared/ssl/ssl.crt

我想?

因此,我冒险(在保存副本后)删除了 /shared/ssl/forum.*/shared/ssl/ssl* 并重新构建,这似乎解决了问题。

因此,它似乎是在拾取 /shared/ssl/ssl.crt,如果其中一个旧文件还在的话,而不是使用它应该使用的文件。

2 个赞

谢谢!这非常有帮助。

1 个赞