Apache FTP服务器 - 不活动20秒后连接超时 - 无法检索目录列表

时间:2016-07-18 11:55:32

标签: java amazon-ec2 ftp apache-mina mina

我一直在寻找一种创建嵌入式ftp服务器的方法。我遇到了一个例子"writing a java ftp server",我在本地复制和测试,一切都很好。

所以我继续将示例部署到AWS EC2实例,然后尝试使用Ubuntu和FileZilla作为客户端访问它,但我一直遇到目录未列出的相同问题。我甚至尝试打开该实例的所有端口,我仍然得到同样的东西:

FileZilla Output

我认为它可能与主动/被动模式设置有关,所以我在FileZilla上尝试了两种方法,但我仍然遇到同样的问题,所以我想出了所有想法。有谁知道如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

您必须在服务器防火墙中打开FTP服务器被动模式数据连接端口范围。

默认情况下,Apache MINA FTP服务器使用任何免费的非特权端口进行数据连接。要避免打开FTP服务器的所有端口,请限制服务器可以使用的端口范围。请参阅:
https://mina.apache.org/ftpserver-project/configuration_passive_ports.html

要在代码中设置范围,请使用ListenerFactory.setDataConnectionConfiguration。您可以使用DefaultDataConnectionConfiguration作为DataConnectionConfiguration interface的实现。

请参阅我在Network configuration for passive mode上的文章以了解背景信息。

答案 1 :(得分:1)

首先,您应该尝试“被动模式”和“仅使用普通 FTP(不安全)”。

然后,如果您使用的是 Windows - 尝试为程序快捷方式或 .exe 文件设置“以管理员身份运行程序”。 可以通过右键单击程序快捷方式或 .exe 文件来完成。然后是“属性”-“兼容性”选项卡。