答案1
这是因为 FTP 不使用一个端口。
端口 21 用于控制通道。此外,一个或多个临时端口是用来数据,例如实际文件传输。
最初数据通道的方向是从服务器到客户端。客户端通过控制通道请求文件,并告诉服务器将数据发送到客户端 IP 上的哪个端口。
当 NAT 成为常态时,这种情况就被打破了;客户端不再能够监听临时端口。被动模式应运而生。服务器现在监听任意端口,并告诉客户端应该连接到哪个端口来获取数据。
当你能让它通过防火墙工作,现在没什么理由再为此烦恼了。它不支持加密,而且对 ftp 的客户端支持正在下降。主流浏览器已经放弃了对它的支持。
转向更现代的协议,例如 HTTPS+WebDAV 或 sftp。FTP 根本不适合我们今天的互联网。更现代的协议具有合理的安全性,并结合了控制和命令通道,因此您不必在每个会话中回退到多个连接。
首先FTP 标准是人类最后一次踏上月球之前的作品。它很古老。虽然从那时起就更新了,但现在是时候让它退役了。