配置Pasv模式
如果服务器 启用了TCP/IP 筛选,那按文章来是连不上的,这里需要补充一点FTP的知识,FTP有两种连接方式:主动连接模式和被动连接模式(Pasv),这里主要说Pasv模式:客户端会随机获取一个大于1024的端口来与FTP服务器端的端口21连接,完成连接后客户端通过这个连接来对FTP服务器下达指令。明白原理,就可以开始动手了:
1 在TCP/IP筛选中打开端口21和1886(可自行设置其他端口)
2 修改配置文件,如下:
<span style="color:#4b4b4b;"><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>
</span><span style="color:#ff0000;"><data-connection idle-timeout="60">
<active local-port="1886" />
<passive ports="1886" />
</data-connection></span><span style="color:#4b4b4b;">
</nio-listener>
</listeners>
<file-user-manager file="./res/conf/myusers.properties" encrypt-passwords="clear"/>
</server></span>
保存重新启动即可。首先FTP服务器是需要两个端口,一个上传端口,一个下载端口,所以只启用一个端口是不行的,这里固定了下载端口为1886。
3 设置目录
设置FTP为盘符根目录办法:
ftpserver.user.myusername.homedirectory=F:
注意不带斜杠。