在被动模式下使用Apache FTP服务器不工作(“服务器拒绝连接”)

在被动模式下使用Apache FTP服务器不工作(“服务器拒绝连接”),apache,ftp,passive-mode,Apache,Ftp,Passive Mode,我已经基于这个Apache项目实现了一个FTP服务器: 服务器应支持被动模式,并进行相应配置。出于测试目的,我只配置了一个被动端口(4244),但在启动服务器后,没有任何内容正在侦听此端口。FTP服务器正在标准端口上侦听活动连接,在标准端口上侦听SSL连接 在尝试连接FTP客户端时,我遇到以下错误(毫不奇怪): 状态:解析本地主机的地址 状态:正在连接到[::1]:4244 状态:连接尝试失败,出现“ECONREFUSSED-连接被服务器拒绝”,正在尝试下一个地址 状态:正在连接到[fe80:

我已经基于这个Apache项目实现了一个FTP服务器:

服务器应支持被动模式,并进行相应配置。出于测试目的,我只配置了一个被动端口(4244),但在启动服务器后,没有任何内容正在侦听此端口。FTP服务器正在标准端口上侦听活动连接,在标准端口上侦听SSL连接

在尝试连接FTP客户端时,我遇到以下错误(毫不奇怪):

状态:解析本地主机的地址

状态:正在连接到[::1]:4244

状态:连接尝试失败,出现“ECONREFUSSED-连接被服务器拒绝”,正在尝试下一个地址

状态:正在连接到[fe80::1%lo0]:4244

状态:连接尝试失败,出现“ECONREFUSSED-连接被服务器拒绝”,正在尝试下一个地址

状态:正在连接到127.0.0.1:4244

状态:连接尝试失败,出现“ECONREFUSSED-连接被服务器拒绝”

错误:无法连接到服务器

我的配置对象正在Apache项目中实现这个接口:DataConnectionConfiguration

我在类中加入了一些日志记录,并注意到提供被动端口的方法从未被调用。我希望调用其中一个方法(如requestPassivePort()),因为FTP服务器如何知道监听哪个被动端口? 再说一次,也许我对被动FTP的工作原理有误解。尽管Apache项目中有一些文档,但在被动模式下运行服务器的内容并不多

也许有人已经使用这个Apache库成功地实现了一个被动FTP服务器,并可以为我提供一些帮助

非常感谢

干杯


Martin

以防其他人有类似的问题:问题是一些接口方法没有完全实现。 -getExternalAddress()返回了一个空值,Apache库没有正确处理它(当然,它应该也接受一个空值,但没有) -当所有被动端口都已用完时,requestPassivePort()未返回-1


在完全实现这些方法之后,通过防火墙以被动模式进行访问是可行的

问题似乎在于服务器无法在被动模式下建立数据通道:2014.01.09-16:17:09.289信息:pool-43-thread-8:FtpLoggingFilter:RECEIVED:PASV 2014.01.09-16:17:09.368警告:pool-43-thread-8:PASV:无法打开被动数据连接org.apache.ftpserver.DataConnectionException:无法初始化被动数据连接:解析地址失败