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

同一服务器内PHP curl请求触发OpenSSL 3的“unexpected eof while reading” SSL错误排查求助

同一服务器内PHP curl请求触发OpenSSL 3的“unexpected eof while reading” SSL错误排查求助

大家好,我遇到了一个特别困惑的问题,想请各位帮忙分析下:

我清楚这个error:0A000126:SSL routines::unexpected eof while reading错误是OpenSSL 3为防范截断攻击,重新引入相关安全特性导致的,但让我百思不得其解的是——我从服务器本身发起PHP curl请求到同一台服务器时,居然也触发了这个错误。

先说明下我的运行环境:

  • 系统:Rocky Linux 9.1
  • PHP版本:8.0.27
  • OpenSSL版本:3.0.1(都是当前可用的最新稳定版本)
  • 暂时没法通过dnf模块升级到PHP8.1,因为该版本依赖的部分库目前还没有提供。

按常理来说,既然服务器能识别这个错误,那它发起的请求也应该是符合SSL规范的才对,但我查到的相关bug报告里,都说这个错误通常是由不合规的服务器端请求导致的。所以想请教下,我应该检查系统的哪些部分,来修正请求格式,让curl请求恢复正常?

下面是我当前curl请求使用的配置选项:

CURLOPT_HTTPGET => TRUE,
CURLOPT_HEADER => FALSE,
CURLOPT_FAILONERROR => FALSE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_CONNECTTIMEOUT => 10,
CURLOPT_TIMEOUT => 60,
CURLOPT_SSL_CIPHER_LIST => NULL,
CURLOPT_CAINFO => '/path/to/ca-certs.pem',
CURLOPT_SSL_VERIFYPEER => TRUE,
CURLOPT_SSL_VERIFYHOST => 2

还有httpd.conf里的SSL/TLS相关配置:

SSLProtocol -all +TLSv1.3 +TLSv1.2
SSLProxyProtocol -all +TLSv1.3 +TLSv1.2

SSLCipherSuite    TLSv1.3   TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
SSLCipherSuite    SSL       AES256+EECDH:AES256+EDH:!SHA1:!SHA256:!SHA384

SSLHonorCipherOrder on
SSLCompression off
SSLSessionTickets off

SSLOpenSSLConfCmd Curves X25519:secp521r1:prime256v1

麻烦各位帮忙看看,谢谢啦!


编辑:已解决
TL;DR:必须在客户端的curl请求里明确指定TLS版本和加密套件。

备注:内容来源于stack exchange,提问作者oucil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 10:27:35