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

使用basic-ftp连接FTP服务器时连接立即中断问题求助

问题原因

错误信息Hostname/IP does not match certificate's altnames: IP: 5.134.14.180 is not in the cert's list已明确指出核心问题:你用来连接FTP服务器的IP不在SSL证书的**备用名称(SAN)**列表中,导致TLS握手完成后证书验证失败,客户端主动发送QUIT命令断开连接。

解决方案

1. 修复证书配置(生产环境推荐)

  • 给FTP服务器的SSL证书添加目标IP(5.134.14.180)到证书的**Subject Alternative Name(SAN)**字段中;
  • 如果FTP服务器绑定了域名,优先使用域名作为FTP_HOST的值,同时确保证书申请时已将该域名加入SAN列表。

2. 临时跳过证书验证(仅开发环境使用)

如果只是本地调试需要,可以绕过证书验证(生产环境禁止使用,会导致连接失去安全保障),修改代码中的access配置:

const client = new ftp.Client();
client.ftp.verbose = process.env.NODE_ENV === 'development';
try {
  await client.access({
    host: process.env.FTP_HOST,
    user: process.env.FTP_USER,
    password: process.env.FTP_PASSWORD,
    port: parseInt(process.env.FTP_PORT ?? '21'),
    secure: true,
    secureOptions: { rejectUnauthorized: false } // 新增此行跳过证书验证
  });
  console.log('connected');
  client.close();
  res.status(200).json({ message: 'Connexion réussie' });
} catch (error) {
  res.status(400).json({ message: "Erreur lors de l'upload" });
}

3. 核对FTP连接地址配置

确认process.env.FTP_HOST的取值:如果服务器有可用的、已包含在证书SAN中的域名,替换当前的IP地址使用域名连接,避免IP与证书不匹配的问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 19:24:27