当前位置 主页 > 服务器问题 > Linux/apache问题 > 最大化 缩小

    springboot整合apache ftpserver详细教程(推荐)

    栏目:Linux/apache问题 时间:2020-01-14 20:13

    一、Apache ftpserver相关简介

      Apache FtpServer是100%纯Java FTP服务器。它被设计为基于当前可用的开放协议的完整且可移植的FTP服务器引擎解决方案。FtpServer可以作为Windows服务或Unix / Linux守护程序独立运行,也可以嵌入Java应用程序中。我们还提供对Spring应用程序内集成的支持,并以OSGi捆绑软件的形式提供我们的发行版。默认的网络支持基于高性能异步IO库Apache MINA。使用MINA,FtpServer可以扩展到大量并发用户。

    二、Apache ftpserver相关特性

    100%纯Java,免费的开源可恢复FTP服务器 多平台支持和多线程设计。 用户虚拟目录,写入权限,空闲超时和上载/下载带宽限制支持。 匿名登录支持。 上传和下载文件都是可恢复的。 处理ASCII和二进制数据传输。 支持IP限制以禁止IP。 数据库和文件可用于存储用户数据。 所有FTP消息都是可定制的。 隐式/显式SSL / TLS支持。 MDTM支持-您的用户可以更改文件的日期时间戳。 “模式Z”支持更快地上传/下载数据。 可以轻松添加自定义用户管理器,IP限制器,记录器。 可以添加用户事件通知(Ftplet)。

    三、Apache ftpserver简单部署使用(基于windows下,linux大同小异)

    1、根据需要下载对应版本的部署包:https://mina.apache.org/ftpserver-project/downloads.html

    2、解压部署包并调整.\res\conf\users.properties和.\res\conf\ftpd-typical.xml配置文件


    users.properties文件配置

    例如配置一个bxl用户:
     #密码 配置新的用户
     ftpserver.user.bxl.userpassword=123456
     #主目录,这里可以自定义自己的主目录
     ftpserver.user.bxl.homedirectory=./res/bxl-home
     #当前用户可用
     ftpserver.user.bxl.enableflag=true
     #具有上传权限
     ftpserver.user.bxl.writepermission=true
     #最大登陆用户数为20
     ftpserver.user.bxl.maxloginnumber=20
     #同IP登陆用户数为2
     ftpserver.user.bxl.maxloginperip=2
     #空闲时间为300秒
     ftpserver.user.bxl.idletime=300
     #上传速率限制为480000字节每秒
     ftpserver.user.bxl.uploadrate=48000000
     #下载速率限制为480000字节每秒
     ftpserver.user.bxl.downloadrate=48000000

    ftpd-typical.xml文件配置

     <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" >
      <listeners>
       <nio-listener name="default" port="2121">
        <ssl>
         <keystore file="./res/ftpserver.jks" password="password" />
        </ssl>
        <!--注意:如果要支持外网连接,需要使用被动模式passive,默认开启主动模式-->
        <data-connection idle-timeout="60">
         <active enabled="true" ip-check="true" />
         <!-- <passive ports="2000-2222" address="0.0.0.0" external-address="xxx.xxx.xxx.xxx" /> -->
        </data-connection>
        <!--添加ip黑名单-->
        <blacklist>127.0.0.1</blacklist>
       </nio-listener>
      </listeners>
      
      <!--这里添加encrypt-passwords="clear",去掉密码加密-->
      <file-user-manager file="./res/conf/users.properties" encrypt-passwords="clear" />
     </server>
    
    下一篇:没有了