上传文件到FTP服务器:Timed out while making data connection

问题

node上传文件到FTP服务器报错Error: Timed out while making data connection

背景

FTP服务器是基于阿里云服务器搭建的,阿里云服务器系统是Windows Server 2012R2

疑问

阿里云安全组配置规则是开放了21端口的,并且通过Windows自带的ftp客户端也是能够上传文件的
在另一个IP地址连接这个公网FTP服务器进行上传文件,却还是一直报“进行数据连接时超时”的错误。

其他人的解决方案

引入的ftp模块是通过scoket连接的,服务器端需要开启其他端口,它会通过其他端口进行连接。
在阿里云安全组配置规则中放开了1-65535范围的端口

结果

可以成功上传文件了

错误原因及更优解

小朋友有很多的问号?