我已經實現在此基礎上這裏的Apache項目的FTP服務器: http://mina.apache.org/ftpserver-project/index.html使用被動模式的Apache FTP服務器不工作(「連接被服務器拒絕」)
服務器的目的是支持被動模式,並相應地配置。出於測試目的,我只配置了一個被動端口(4244),但啓動服務器後沒有任何事情正在偵聽此端口。 FTP服務器在活動連接的標準端口和SSL連接的標準端口上收聽正常。
當試圖通過FTP客戶端連接,我收到以下錯誤(這並不奇怪):
Status: Resolving address of localhost
Status: Connecting to [::1]:4244...
Status: Connection attempt failed with "ECONNREFUSED - Connection refused by server", trying next address.
Status: Connecting to [fe80::1%lo0]:4244...
Status: Connection attempt failed with "ECONNREFUSED - Connection refused by server", trying next address.
Status: Connecting to 127.0.0.1:4244...
Status: Connection attempt failed with "ECONNREFUSED - Connection refused by server".
Error: Could not connect to server
我的配置對象是實現從Apache項目這個接口:DataConnectionConfiguration
我已經把一些登錄到類中,並注意到提供被動端口的方法從未被調用過。我期望其中一個方法(如requestPassivePort())被調用,因爲FTP Server如何知道要監聽的被動端口? 然後,也許我對被動FTP的工作有誤解。儘管Apache項目中有一些文檔,但在被動模式下運行服務器並不多。
也許有人成功實現了一個使用這個Apache庫的被動FTP服務器,並且可以爲我提供一些幫助。
非常感謝。
乾杯,
馬丁
問題似乎是服務器無法建立被動模式下的數據通道:2014.01.09-16:17:09.289信息:pool-43-thread-8:FtpLoggingFilter:已收到:PASV 2014.01。 09-16:17:09.368警告:pool-43-thread-8:PASV:無法打開被動數據連接 org.apache.ftpserver.DataConnectionException:無法啓動被動數據連接:無法解析地址 – marw