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

Strapi调用WooCommerce API时出现SSL相关错误求助

解决WooCommerce API对接的SSL连接错误

错误原因解析

出现的两类错误指向不同的SSL/连接问题:

  • EPROTO + SSL alert number 80:SSL握手阶段的内部错误,核心原因是Strapi服务器(Node.js)与远端WooCommerce站点的TLS协议版本、加密套件不兼容,或者远端站点SSL配置存在异常(如证书链不完整、旧协议强制禁用)。
  • ECONNRESET:连接被远端主动重置,一般是握手失败后服务器断开连接,也可能是网络层面的拦截。

浏览器能正常访问的原因:浏览器的TLS兼容逻辑更灵活,会自动尝试多种协议版本和加密套件,而Node.js默认配置的兼容范围较窄。

排查与修复步骤

1. 验证远端站点的SSL兼容性

在Strapi服务器上执行openssl命令,测试目标站点支持的TLS版本和加密套件:

# 测试TLS 1.2
openssl s_client -connect your-woocommerce-site.com:443 -tls1_2
# 测试TLS 1.3
openssl s_client -connect your-woocommerce-site.com:443 -tls1_3

查看命令输出:

  • 如果某一版本能成功握手,说明远端仅支持该版本的TLS
  • 记录输出中的Cipher Suite字段,这是远端支持的加密套件

2. 精细化配置Node.js HTTPS Agent

针对不兼容的站点,调整HTTPS Agent的参数,匹配远端的SSL配置:

try {
  const https = require('https');
  const agent = new https.Agent({
    // 强制使用远端支持的TLS版本(比如从openssl测试结果选TLSv1.2)
    minVersion: 'TLSv1.2',
    maxVersion: 'TLSv1.2',
    // 填入openssl输出中远端支持的加密套件
    ciphers: 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256',
    keepAlive: true,
    // 调试阶段临时禁用证书校验(生产环境必须关闭此选项)
    rejectUnauthorized: false
  });
  const response = await fetch(url, { agent });
  const data = await response.json();
  ctx.body = data;
} catch (error) {
  console.error('Failed to fetch from WooCommerce', error);
  ctx.throw(500, 'Failed to fetch data from WooCommerce');
}

3. 检查Node.js内置OpenSSL版本

Node.js 16.x依赖内置OpenSSL,运行以下命令查看版本:

node -p "process.versions.openssl"

如果版本低于1.1.1n,可能对部分新加密套件支持不足,建议升级到Node.js 16.x最新稳定版(如16.20.2),或切换到Node.js 18.x LTS版本(内置更新的OpenSSL)。

4. 排查网络与权限问题

  • 在服务器上用curl测试API访问:
    curl -v "https://your-woocommerce-site.com/wp-json/wc/v3/products?page=1&per_page=10" -u "consumer_key:consumer_secret"
    
    如果curl也失败,可能是Strapi服务器的IP被远端站点防火墙拦截,或远端开启了IP白名单限制。
  • 确认WooCommerce的consumer key/secret权限是否完整,是否有权限访问目标API端点。

5. 临时绕过SSL验证(仅调试)

如果确认是远端证书配置问题(如自签名证书),可以临时在Agent中添加rejectUnauthorized: false,但生产环境绝对不能使用,必须修复远端证书问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 10:03:14