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

标签 java amazon-ec2 ftp apache-mina mina

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

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

FileZilla Output

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

最佳答案

您必须在服务器防火墙中打开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 的文章了解背景。

关于java - Apache FTP 服务器 - 20 秒不活动后连接超时 - 无法检索目录列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38436090/

相关文章:

java - MapView 不工作 [android]

java - Android:检查高分SQL表并添加分数

amazon-web-services - 结合 salt、docker 和 Amazon EC2 来托管 Python 应用程序

ssl - 带有 GoDaddy SSL 证书的 AWS ELB

html - 如何让网站运行 index.html 文件?

linux - 任何人都可以为 Linux 推荐一个允许预定传输的免费 FTP 客户端吗?

java - 某些东西使用隧道阻止 cxf,503 转发失败

Java Locale 字体问题..?

linux - 为什么我不能将文件夹上传到 Linux EC2 实例?

powershell - Powershell 1.0 中的异常处理