linux - 由于证书无效,来 self 的 linux vm (Centos) 的所有 https 请求均失败

标签 linux ssl curl https vmware

我已经在网上搜索了很长时间来找到我的问题的答案,所以我会发布这个问题并自己回答。

关于此问题不属于此处的以下评论的注释:

在 PHP (Drupal) 中,我对 Mandrill API 的所有 curl 请求突然停止工作。我花了很长时间调试问题的原因是什么,但我在这个过程中学到了很多东西。由于最终的调试非常简单并且可能会帮助其他人完成他们的过程,所以我仍然认为这个问题和解决方案属于 stackoverflow.com。

在 PHP 中调试后,我开始从命令行调试以查找问题,结果发现与在 PHP 中一样,在 PHP 之外,我所有的 https 请求都失败了,说网站的证书无效。

例如:

curl https://www.stackoverflow.com/

这会引发有关证书颁发者的 curl 错误。遗憾的是,目前我找不到实际的错误消息,但我希望我仍然可以帮助其他人解决这个问题。

我找到的所有帖子都是关于更新 Centos、安装根证书等。 所有这些都不起作用,所以我完全重新安装了机器,然后得到了同样的错误。

对我来说主要的问题是 PHP 中的 curl 请求不起作用,所以它属于 stackoverflow.com。我下面的解决方案(我最终是如何调试的)是在 PHP 之外的,但这仍然可以帮助其他 (PHP) 程序员解决问题。

最佳答案

最后我尝试了以下方法:

curl -I -v https://www.stackoverflow.com/

详细选项显示了我需要的信息,所以我发现所有证书都由 issuer: C=SK,O="ESET, spol. s r. o.",CN=ESET SSL Filter CA

现在 ESET 是我在 Windows 上的病毒扫描程序(由我们的 ICT 合作伙伴控制)。 事实证明(错误地)启用了一个选项,该选项随后控制所有 https 流量,包括来自虚拟机的流量。

所以长话短说: 使用 curl 的“-v”选项调试此问题以获得有值(value)的信息,包括根证书的状态等。

关于linux - 由于证书无效,来 self 的 linux vm (Centos) 的所有 https 请求均失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54074833/

相关文章:

http - 使用 `UrlFetchApp` 的 PUT 请求返回 'Bad Request' 但 Google Apps 脚本之外的相同请求有效

linux - 在linux中按字母数字优先排序数字

python - 使用shell脚本将用户添加到mongodb到python

wordpress - 多站点 wordpress 的 SSL 证书

http - 在实现PoolingHttpClientConnectionManager时遇到问题

php - 在循环中使用 cURL

c - 为什么 ELF 头和文本段一起加载到内存中?

linux - 如何使用awk将增量字符串添加到文件开头

ssl - SSL 试图阻止什么?

php - CURLOPT_SSLKEY 和 CURLOPT_SSH_PRIVATE_KEYFILE 有什么区别?