在本地测试时遇到 SSL 证书错误,可以采取以下几种解决方案:
请根据你的具体需求和环境选择合适的解决方案。在处理 SSL 证书问题时,保持安全意识是非常重要的,尽量避免在生产环境中禁用 SSL 证书验证。
-
更新证书存储库: 如果你的系统上的证书存储库过时或不完整,可能会导致 SSL 证书验证失败。你可以尝试更新你的证书存储库,以确保包含了最新的根证书和中间证书。对于不同的操作系统,更新命令如下:
- Ubuntu:
sudo apt-get update && sudo apt-get install --only-upgrade ca-certificates
- CentOS:
sudo yum update ca-certificates
- Ubuntu:
-
指定 CA 证书文件: 如果你有一个 CA 证书文件(通常是
.pem
格式),并且想要 cURL 使用这个文件来验证服务器的 SSL 证书,可以使用--cacert
选项来指定证书文件的路径。例如:curl --cacert /path/to/cacert.pem https://www.skyyx.com/app/gj/140657.html
-
如果本地没有证书或者证书过旧,需要下载最新的证书,可以从 http://curl.haxx.se/ca/cacert.pem 下载最新的证书,并将其放在合适的路径下。
-
禁用 SSL 验证(不推荐生产环境使用): 作为一种临时解决方案,你可以在 cURL 命令中添加参数来禁用 SSL 验证。这会降低安全性,因为服务器证书将不会被验证。以下是一个示例命令:
curl --insecure https://www.skyyx.com/app/gj/140657.html
-
请注意,这种方法不推荐在生产环境中使用,因为它会忽略 SSL 证书验证,使得连接容易受到中间人攻击。
-
手动指定 CA 证书路径: 如果按照上述方式仍然报错,可以尝试将下载的 CA 证书文件路径添加到 PHP 配置中。打开
php.ini
文件,找到curl.cainfo
项,并设置为 CA 证书文件的绝对路径。