【问题标题】:How to correctly fix CURL Error 60 with Laravel Socialite?如何使用 Laravel Socialite 正确修复 CURL 错误 60?
【发布时间】:2018-09-20 17:23:13
【问题描述】:

在过去的几天里,我花了很大一部分时间阅读了 stackoverflow 和 google 上的所有解决方案,但无济于事。

那么具体的问题:
我从 namecheap 为我的网页购买了 SSL 证书。此特定站点托管在 Amazon EC2 上的 Amazon AMI (1) 上。

该站点可通过 HTTPS 访问,甚至 http://ssllabs.com 也确认 ssl 和 ca 包都处于良好状态。然而 laravel socialite 抛出 curl 60 错误 peer cert not valid。

我已经两次和三次检查 curl 路径上的 php.ini 上的一切是否正常,所以没有任何线索。

最奇怪的是,如果我使用来自https://curl.haxx.se/docs/caextract.html 的证书,它就可以正常工作!

所以请原谅新手的问题,但我是否应该将此证书用于 CURL?还有另一个不同的 https 设置?

谢谢!

更新:

我已经用从https://curl.haxx.se/docs/caextract.html下载的 cacert.pem 路径更新了我的 php.ini

[curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an
; absolute path.
curl.cainfo="/var/www/html/cacert.php"

现在我收到 77 错误:

"cURL error 77:  (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)"

【问题讨论】:

  • 你需要给 curl 一个证书包。它可能没有在您的系统上正确配置。
  • 嗨@Evert。这就是我的想法,但如果不是,那么 https 会抛出错误吗?在每个浏览器上都显示主证书和捆绑包都是有效的
  • 不,浏览器有自己的捆绑包或使用操作系统捆绑包。您的服务器可能还有一个默认证书包。您的 curl 根本没有使用它,因此它认为每个 SSL 证书都未经验证。您应该使用操作系统的 ca 包,也可以使用 curl 中的包。无论哪种情况,您都需要确保它保持更新。
  • 是的,您的服务器可能已经安装了证书,但是您是否在 CURL 调用中使用它?它不会自动发生..
  • 社交名流框架正在进行 curl 调用,但我在 php.ini 中设置了正确的路径。现在错误已更改为 #77,这很奇怪,因为我使用的是 curl.haxx.se/docs/caextract.html 提供的 cacert 我不知道从这里去哪里

标签: php ssl curl laravel-socialite


【解决方案1】:

终于明白了!

当我为网络服务器设置 SSL 证书时,我通过路由 /etc/pki/tls/certs 上的 ca-bundle.crt 编写

即使我在 php.ini 和 ssl.conf 文件中更新 SSL 的配置,CURL 也不想一起玩。还原更改并使用原始服务器证书固定 CURL,我只是重命名了 https 证书。

希望这可以帮助遇到类似问题的人。

【讨论】:

    猜你喜欢
    • 2019-10-27
    • 2018-04-23
    • 2017-06-01
    • 2017-08-10
    • 2018-07-01
    • 1970-01-01
    • 2021-04-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多