使用基本ftp连接到ftp服务器会立即退出连接



我正在使用基本的ftp连接到ftp服务器,但我遇到了以下错误:

Connected to myip:21 (No encryption)
< 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 16:52. Server port: 21.
220-This is a private system - No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
> AUTH TLS
< 234 AUTH TLS OK.
> QUIT

连接似乎是成功的,但它会立即退出并触发catch块。

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,
});
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" });
}

这是错误消息:Hostname/IP does not match certificate's altnames: IP: 5.134.14.180 is not in the cert's list

TLS通常使用证书进行身份验证。客户端通常将目标主机名作为TLS SNI发送,服务器将其与所支持的虚拟主机进行匹配,然后使用正确的证书进行响应。然后,客户端将目标主机名与CN和/或SAN进行比较,如果匹配,则确保证书由它已经信任的CA签名。如果所有这些都起作用,那么身份验证步骤就完成了。

听起来,您正在通过IP地址连接到一个具有CN/SAN中名称的证书的主机。试着连接到其中一个名字,你可能会更进一步。

最新更新