curl: (60) SSL 证书问题:证书已过期

3
我的PHP应用程序在与API或其他服务器(FTP...)通信时出现了一些问题。
当我查看日志时,我发现这是由于CURL的问题。
我尝试修复这个问题:
- 更新证书 - 更换证书
但是没有任何改变。
这是我在终端(Debian)中运行的命令行:
curl --location 'https://hooks.slack.com/services///' --header 'Content-Type: text/plain' --data '{"channel": "#team-it", "text": "Hello, world"}'
但是我得到了以下错误:
    curl: (60) SSL certificate problem: certificate has expired
More details here: https://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.

即使我的证书已经更新...

你有什么办法可以解决这个问题吗?


如果问题发生在访问另一个URL时(例如hooks.slack.com),请记住需要更改他们的证书而不是您自己的证书以解决问题。 - Nico Haase
同样的问题也出现在其他网址(https://api.nextendweb.com)上... - p0k3
你尝试过什么来解决这个问题?看起来你的本地证书存储已经过时了? - Nico Haase
我也开始遇到这个问题了。 - Juri
1个回答

0

您可以使用 -k, --insecure 允许不安全的服务器连接

curl --location --insecure 'https://hooks.slack.com/services///' --header 'Content-Type: text/plain' --data '{"channel": "#team-it", "text": "你好,世界"}'


那只会在终端中解决问题,但不会在 PHP 中解决 :) - p0k3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接