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

解决Ubuntu22.04上CURL报SSL routines::unsafe legacy renegotiation disabled错误

解决OpenSSL 3下CURL的"unsafe legacy renegotiation disabled"错误

这个错误的核心原因是:OpenSSL 3.0及以上版本默认禁用了不安全的旧版SSL重协商机制,而你请求的部分服务器仅支持这种过时的重协商方式,导致握手失败。

以下是几种可行的解决方法:

1. 临时单请求修复(推荐,安全可控)

创建一个临时的OpenSSL配置文件(比如命名为legacy_reneg.cnf),内容如下:

openssl_conf = openssl_init

[openssl_init]
ssl_conf = ssl_sect

[ssl_sect]
system_default = system_default_sect

[system_default_sect]
Options = UnsafeLegacyRenegotiation

执行CURL请求时,通过环境变量指定这个配置文件:

OPENSSL_CONF=./legacy_reneg.cnf curl https://你的目标服务器地址

如果之前你试过自定义配置但无效,检查两点:

  • 配置文件的语法是否和上面一致(尤其是节点层级)
  • 是否在CURL命令前正确设置了OPENSSL_CONF环境变量(路径要写对)

2. 全局生效(不推荐,有安全风险)

如果需要所有CURL请求都跳过这个限制,可以修改系统级的OpenSSL配置:
编辑/etc/ssl/openssl.cnf,找到[system_default_sect]节点(如果没有就添加),加入一行:

Options = UnsafeLegacyRenegotiation

注意:这种方法会让整个系统的OpenSSL都允许不安全的旧重协商,降低了SSL连接的安全性,仅适合测试环境或无法控制目标服务器的极端场景。

3. 根本解决(如果可控目标服务器)

如果目标服务器是你自己维护的,建议升级服务器的SSL配置:

  • 启用现代的TLS版本(TLS 1.2+)
  • 配置支持安全的重协商机制(RFC 5746标准)
  • 移除过时的SSL协议和弱密码套件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 21:05:16