Let's Encrypt X3 噩梦

今天使用 mail-receiver 应用时出现以下错误。此前一直运行正常。

它正尝试通过 API 将电子邮件发送到 Discourse。这是否可能是由 DST Root CA X3 证书过期引起的?

如果是,有人知道如何解决吗?我尝试重新构建应用和 mail-receiver,重新生成 Let’s Encrypt 证书等。

\u003e\u003c19\u003eSep 30 22:07:26 receive-mail[96]: 无法将电子邮件 POST 到 https://forum.validadortiss.com.br/admin/email/handle_mail:SSL_connect 返回=1 errno=0 state=SSLv3 read server certificate B:证书验证失败 (OpenSSL::SSL::SSLError)

2 个赞

感谢报告 @wlandgraf - 我们将尽快将新的邮件接收器镜像推送到 Dockerhub。

4 个赞

Dockerhub 上的 release 标签现已更新。如果您遵循了官方设置说明,可以通过运行以下命令拉取新镜像:

cd /var/discourse
./launcher rebuild mail-receiver
5 个赞

你好 @david,非常感谢您的迅速回复。然而,这并没有解决我的问题,问题依然存在。

1 个赞

/var/discourse/containers/mail-receiver.yml 中,base_image: 行配置的是什么?它应该是:

base_image: discourse/mail-receiver:release

(更多信息请参见 此处

1 个赞

是的,我确实有。

1 个赞

这是文件的开头:

## 这是 incoming mail receiver 容器的模板
##
## 修改此文件后,您必须重新构建
## /var/discourse/launcher rebuild mail-receiver
##
## 编辑时请*非常*小心!
## YAML 文件对空格或缩进错误极其敏感!
## 如有需要,请访问 http://www.yamllint.com/ 验证此文件

base_image: discourse/mail-receiver:release
update_pups: false

expose:
  - "25:25"   # SMTP

以下是重新构建操作的部分输出(已省略包含 API 密钥的部分):

确保 launcher 为最新版本
正在获取 origin
Launcher 已是最新版本
正在停止旧容器
+ /usr/bin/docker stop -t 60 mail-receiver
mail-receiver
cd /pups && /pups/bin/pups --stdin
sha256:5f123a8eb11784828d5195ee0f328a0ea5a5d2ce36eeae1760e3d47b0dbeb15c
165ebaa91836a07696924f95d3746cbd1cc14412f478ba715ee40f502780ab7a
正在删除旧容器
+ /usr/bin/docker rm mail-receiver
mail-receiver
2 个赞

您能尝试一下吗

docker pull discourse/mail-receiver:release
cd /var/discourse
./launcher rebuild mail-receiver
6 个赞

成功了!非常感谢!如果不介意的话,我有几个问题:

  1. 为什么这是必要的?我是否应该总是在构建之前手动拉取最新的镜像?
  2. 在重新构建应用时,我是否必须应用相同的程序(docker pull)?
  3. 我看到重新构建后发送的邮件已到达,但之前发送的邮件却没有收到。那些邮件丢失了吗?
2 个赞

看起来您的 Docker 安装缓存了 :release 标签。为了避免将来需要执行 docker pull,我们或许可以在 launcher 脚本中添加一些逻辑。

app 镜像的处理方式不同,因此那里不会出现缓存问题。

在停机期间发送的电子邮件应已返回给发送服务器,并附带“临时失败”状态。这些服务器应定期重试邮件,因此希望您能在接下来的几个小时内收到缺失的邮件。

4 个赞

太好了。再次感谢您迅速回复。世界似乎正遭受这个 Root CA X3 混乱的困扰,您现在已为此做出了一份贡献,让世界变得稍微美好一些。:smiley:

3 个赞

有什么线索可以检测邮件接收器是否需要更新,以及是否需要执行 docker pull 吗?

3 个赞

所有在今天之前安装的邮件接收器都需要更新。(技术上讲,任何使用早于 67222bded865 的基础镜像的安装都需要更新)

在我们更新 launcher 之前(今天或明天不太可能更新),必须执行 docker pull。我刚刚在这里发布了一个公告主题,因为我知道这将对许多站点造成干扰。该主题包含更新说明,包括 docker pull

8 个赞

此主题已在 30 小时后自动关闭。不再允许新回复。