无法从 Heroku 应用程序的 AWS EC2 FTP 服务器列出或下载文件

Cannot list or download files from AWS EC2 FTP server from Heroku app

我有一个 AWS EC2 实例充当 FTP 服务器,如下所述:
https://www.xadmin.net/how-to-setup-ftp-on-aws-ec2-instance/

EC2 实例有一个带有自定义 TCP 规则的安全组,以允许来自任何 IP 的连接。

通过 FileZilla 和其他 FTP 客户端的连接成功。

我有一个 Spring 启动应用程序连接到此 EC2 FTP 服务器并且它在本地运行。但是,当部署到 Heroku 时,列出文件或获取特定文件的尝试会挂起而不会出现任何错误。 Spring 启动应用程序使用完整的 public URL 作为 FTP 主机 (ec2-xx-xxx-xxx-xxx.compute-1.amazonaws.com) 的 EC2 实例。

如何允许 Heroku 应用程序访问 EC2 FTP 服务器?

很可能是服务器配置错误并在 FTP PASV 命令响应中发送了其内部 IP 地址。

虽然 FileZilla 和许多其他 FTP 客户端可以解决这个问题,但 Heroku 可能不能。
检查 FileZilla 日志文件:
Server sent passive reply with unroutable address in FileZilla.

如果是这种情况,您将需要修复 FTP 服务器。