这与DST Root CA X3 过期(2021 年 9 月)
有关\n当在线搜索适用于旧服务器(在我的例子中是 Debian 8)的修复程序时,该服务器确实调用使用 LetsEncrypt 加密的站点curl,现在它们似乎失败了,并显示以下内容信息:
例子:
\ncurl -fsSL https://deb.nodesource.com/setup_14.x | bash -\nRun Code Online (Sandbox Code Playgroud)\n无提示地失败,然后手动尝试并删除无提示标志和 bash 管道,如下所示:
\ncurl -L https://deb.nodesource.com/setup_14.x\nRun Code Online (Sandbox Code Playgroud)\ncurl: (60) SSL certificate problem: certificate has expired\nMore details here: http://curl.haxx.se/docs/sslcerts.html\n\ncurl performs SSL certificate verification by default, using a "bundle"\n of Certificate Authority (CA) public keys (CA certs). If the default\n bundle file isn\'t adequate, you can specify an alternate file\n using the --cacert option.\nIf this …Run Code Online (Sandbox Code Playgroud) 从 2021 年 10 月 1 日起,我遇到了 PHPMailer 突然说我的证书已过期并拒绝使用 TLS 加密正确连接到端口 587 的问题。
将 ssl 标志更改为 not verify_peer 和 not verify_peer_name 将临时修复电子邮件问题。
$mail->SMTPOptions = array (
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
));
Run Code Online (Sandbox Code Playgroud)
但这并不是一个理想的解决方案。
如果我通过端口 80 和 Web 访问同一服务器,则证书没有任何问题。
如果我使用 OpenSSL 命令行连接,它会显示证书已于 2021 年 9 月 30 日过期。
这个问题也出现在php命令file_get_contents下。
注意:这个问题是 PHPMailer 和电子邮件特定的,并提供了有关 PHPMailer 的良好信息,不应将其关闭。除了原因和修复类似之外,它与 docker 或与其相关的其他问题无关。