仅在某些域名上出现 cURL 错误 60

仅在某些域名上出现 cURL 错误 60

我有几个子域名(虚拟主机)Laravel(PHP 框架)。所有项目都使用相同的设置通过以下方式发送邮件邮件枪。 (Mailgun 是一种网络服务,您可以向其发送包含电子邮件内容、收件人、主题等的 http 请求,它会为您发送。

每个子域都有自己的文件夹/var/www/vhosts/system/[subdomain]/conf/(我认为 Plesk 默认将它们放在那里),并且总有一个文件httpd.conf允许您为每个子域添加更多设置。在所有这些文件中,我都指定了以下内容:

php_admin_value curl.cainfo "/usr/share/ca-certificates/curl/cacert.pem"

使用以下方式向 Mailgun 发出请求guzzlehttp的组件(一个围绕 curl php 扩展的 Composer 包,以便于使用)。

直到周一,每个子域名在发送电子邮件时都没有问题。然而,周一,其中一个子域名停止发送电子邮件并开始出现错误:

cURL 错误 60:SSL 证书问题:无法获取本地颁发者证书

其余程序使用同一.pem文件也能正常运行。

我没有改变这些虚拟主机或服务器的配置中的任何内容。

可能是什么原因导致了这个问题?我该如何解决它?

服务器

Linux [...] 3.2.0-4-amd64 #1 SMP Debian 3.2.73-2+deb7u3 x86_64 GNU/Linux

Plesk

Product version: 12.5.30 Update #74
Update date: 2018/01/23 06:26
Build date: 2016/06/08 10:00
OS version: Debian 7.9
Revision: 344620
Architecture: 64-bit
Wrapper version: 1.2

PHP

PHP 5.6.30-1~dotdeb+7.1 (cli) (built: Jan 21 2017 14:50:59) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

阿帕奇

Server version: Apache/2.2.22 (Debian)
Server built:   Jul 20 2016 05:07:38

卷曲

curl 7.26.0 (x86_64-pc-linux-gnu) libcurl/7.26.0 OpenSSL/1.0.1t zlib/1.2.7 libidn/1.25 libssh2/1.4.2 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3 pop3s rtmp rtsp scp sftp smtp smtps telnet tftp 
Features: Debug GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP 

答案1

Mailgun 的最新证书似乎存在问题。Guzzle cacaert.pem 需要手动更新,请参阅此处获取详细信息:https://www.drupal.org/project/mailgun/issues/2939004

相关内容