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

从服务器调用Node.js应用时遇隧道套接字建立失败及SSL版本错误

解决Node.js请求时的SSL版本错误问题

你遇到的Error: tunneling socket could not be established, cause=write EPROTO ... ssl3_get_record:wrong version错误,核心原因是请求客户端与目标服务器(或中间代理)的SSL/TLS版本不兼容,导致握手失败。结合你给出的请求配置,可通过以下方式修复:

  • 强制指定兼容的SSL/TLS协议版本
    如果使用的是request库,在配置中添加agentOptions字段,明确指定服务器支持的协议版本(比如TLSv1.2,大部分服务器都支持):

    var options = {
        'method': "POST",
        'url': process.env.QATAPIPATH + process.env.APIPATH + parameter,
        'headers': {
            'Content-Type': 'application/json'
        },
        ignoreTLS: true,
        secure: false,
        agentOptions: {
            secureProtocol: 'TLSv1_2_method' // 可根据服务器实际支持版本调整为TLSv1_3_method等
        },
        body: JSON.stringify({
            "data": req.body.data
        })
    };
    
  • 检查代理配置影响
    若请求通过代理发送,确认QATAPIPATH是否包含代理地址,代理的SSL版本可能与目标服务器不匹配。可尝试在配置中添加proxy: false绕过代理(需确保网络环境允许):

    var options = {
        // 其他原有配置...
        proxy: false
    };
    
  • 放宽加密套件限制(针对旧服务器)
    部分老旧服务器使用的加密套件在新版Node.js中被默认禁用,可在agentOptions中添加加密套件配置:

    agentOptions: {
        ciphers: 'ALL:@SECLEVEL=1',
        secureProtocol: 'TLSv1_2_method'
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 21:15:30