apache ftpserver搭建ftp服務非常簡單,若只是內網訪問,幾乎不需要配置,直接啟動即可。但若需要外網訪問,則需要注意以下幾點。
1.若是外網訪問,主動模式是不行的,因為客戶端報告給服務器的IP地址是內網IP,服務器無法主動向此地址發起連接。必須使用被動模式。
2.使用被動模式時,是由服務器端告訴客戶端向哪個IP哪些端口發起連接。那么哪個IP,哪些端口?配置如下,其中“xxx.xxx.xxx.xxx”是此服務器的外網IP,“1034-1040”則是可供客戶端連接的端口,注意防火牆要將這些端口放行。
<server xmlns="http://mina.apache.org/ftpserver/spring/v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://mina.apache.org/ftpserver/spring/v1 http://mina.apache.org/ftpserver/ftpserver-1.0.xsd " id="myServer"> <listeners> <nio-listener name="default" port="8021"> <ssl> <keystore file="./res/ftpserver.jks" password="password" /> </ssl> <data-connection idle-timeout="60"> <passive ports="1034-1040" external-address="xxx.xxx.xxx.xxx" /> </data-connection> </nio-listener> </listeners> <file-user-manager file="./res/conf/users.properties" /> </server>