You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Debian服务器file_get_contents报OpenSSL error:14090086证书验证失败问题

PHP调用file_get_contents触发SSL证书验证失败问题

报错信息

Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /var/www/html/file_get.php on line 7

场景说明

  • 3台Debian业务服务器均通过file_get_contents请求访问第4台业务服务器,2台突然报上述错误,1台运行正常
  • 所有服务器的Let's Encrypt证书均在有效期内,此前无配置变更、版本升级操作
  • 临时关闭SSL校验的代码方案需要修改上百个业务文件,落地成本过高
  • 尝试在php.ini中配置openssl.cafile=/etc/letsencrypt/live/myserver.com/cert.pem未生效
  • 正常服务器OpenSSL版本为OpenSSL 1.1.0f 25 May 2017(依赖库版本:OpenSSL 1.1.0l 10 Sep 2019),报错服务器OpenSSL版本均为OpenSSL 1.1.0l 10 Sep 2019

根因定位

该问题由已过期的Let's Encrypt旧根证书DST Root CA X3导致:部分版本OpenSSL校验证书链时,会优先匹配系统中存在的已过期DST根证书,忽略有效的ISRG根证书,最终触发校验失败。

已验证生效的修复步骤

按顺序执行以下操作即可解决问题:

  • 执行apt update更新软件源
  • 执行apt upgrade升级系统软件包
  • 卸载旧版本certbot-auto,安装官方维护的新版本certbot
  • 编辑/etc/ca-certificates.conf文件,移除mozilla/DST_Root_CA_X3.crt配置项
  • 执行update-ca-certificates命令更新系统根证书库

执行完成后无需修改业务代码,PHP的SSL证书校验即可恢复正常。

内容的提问来源于stack exchange,提问作者omega1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 16:39:02