首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >与原始请求相同的服务器上的SSL错误“读取时意外的eof”

与原始请求相同的服务器上的SSL错误“读取时意外的eof”
EN

Server Fault用户
提问于 2023-03-19 17:30:31
回答 1查看 3.4K关注 0票数 0

首先,我知道由于SSL Library Error: error:0A000126:SSL routines::unexpected eof while reading 3重新引入了一个防止截断攻击的特性而产生的OpenSSL错误。

我的问题是,当我通过PHP从报告错误的服务器进行curl调用时,为什么会看到这个错误?

我正在运行RockyLinux9.1,PHP8.0.27,并拥有OpenSSL 3.0.1 (最新版本可用)。我还不能通过dnf模块升级到PHP8.1,因为还没有为该版本提供的库。

由于我正在从服务器发出一个curl调用到它自己,人们会认为,如果它已经足够及时地识别错误,那么它将正确地发出请求。"bug“报告指出,这通常是来自发出请求的不兼容服务器,那么我应该在系统中查看哪些地方来更正请求格式,以便使自己符合要求并使自己的curl请求再次工作?

这是我现在使用的卷发选项.

代码语言:javascript
运行
复制
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相关选项.

代码语言:javascript
运行
复制
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

感谢您提供的任何帮助!

编辑:下面的解决方案,tldr;必须在客户端请求中指定TLS版本和密码。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2023-03-20 00:19:56

一条有用的错误信息可能会很有帮助,但本质上这可以归结为不协商有限的(但可用的)密码,因此在握手过程中失败了。我不得不手动强制curl使用TLS1.2,以及服务器受限的特定密码。我把它加到了清单上..。

代码语言:javascript
运行
复制
CURLOPT_SSLVERSION = CURL_SSLVERSION_TLSv1_2,
CURLOPT_SSL_CIPHER_LIST = 'AES256+EECDH:AES256+EDH' 

不要再犯错误。希望这能帮助别人避免我在这上面浪费的两天。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1126612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档