2016-07-18 67 views
2

我正在尋找一種創建嵌入式ftp服務器的方法。我遇到了一個例子"writing a java ftp server",我在本地複製和測試,一切都很好。Apache FTP服務器 - 閒置20秒後連接超時 - 無法檢索目錄列表

因此,我繼續並將該示例部署到AWS EC2實例,然後嘗試使用Ubuntu和FileZilla作爲客戶端訪問它,但我仍然遇到同樣的問題,即目錄未列出。我甚至試過打開所有端口的情況下,我仍然得到同樣的事情:

FileZilla Output

我想這可能是與主動/被動模式的設置,所以我無論在FileZilla的嘗試,但我仍然遇到同樣的問題,所以我都沒有想法。有誰知道如何解決這個問題?

+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瞭解背景。

+0

關於如何在代碼中設置默認被動端口範圍的任何想法? – Hooli

+0

查看我更新的答案。 –

+0

是的,我知道,但它需要一千個輸入參數。可惜我猜沒有二傳手。我不知道這是否會解決它,因爲我已經嘗試打開所有端口,並沒有改變任何東西。 – Hooli