一、介绍
Apache FtpServer是一个基于Apache MINA(一个高性能的Java异步并发网络通讯框架)开发的FTP 服务器。 既可以嵌到Java应用中使用,也可以做为Windows服务或Unix/Linux Daemon单独运行。此外还提供与Spring相集成的模块。(摘自www.open-open.com)
二、 准备
下载地址:
本文使用1.0.6版本,点直接下载。
三、 配置
参照 四、参考文章 里面来配置, - - # 这里偷懒就不重复了,这里主要将两个问题:
3.1 配置Pasv模式
如果服务器 启用了TCP/IP 筛选,那按文章来是连不上的,这里需要补充一点FTP的知识,FTP有两种连接方式:主动连接模式和被动连接模式(Pasv),这里主要说Pasv模式:客户端会随机获取一个大于1024的端口来与FTP服务器端的端口21连接,完成连接后客户端通过这个连接来对FTP服务器下达指令。明白原理,就可以开始动手了:
3.1.1 在TCP/IP筛选中打开端口21和1886(可自行设置其他端口)
3.1.2 修改配置文件,如下:
<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"
max-logins="5"
anon-enabled="false"
max-anon-logins="0"
max-login-failures="3"
login-failure-delay="30000">
<listeners>
<nio-listener name="default" port="21">
<ssl>
<keystore file="./res/ftpserver.jks" password="password" />
</ssl>
<data-connection idle-timeout="60"> <active local-port="1886" /> <passive ports="1886" /> </data-connection> </nio-listener>
</listeners>
<file-user-manager file="./res/conf/myusers.properties" encrypt-passwords="clear"/>
</server>
保存重新启动即可。首先FTP服务器是需要两个端口,一个上传端口,一个下载端口,所以只启用一个端口是不行的,这里固定了下载端口为1886。
3.2 设置目录
设置FTP为盘符根目录办法:
ftpserver.user.myusername.homedirectory=F:
注意不带斜杠。
四、参考文章
本文转自博客园农民伯伯的博客,原文链接:,如需转载请自行联系原博主。