无法从 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 服务器。
我有一个 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 服务器。