vsftpd版本引起的下载失败

问题背景:应用启动时去某机器上下载文件,但是其中某一台总是下载失败,但是手动是可以的

问题过程:首先,我们怀疑是vsftpd配置问题,比如主被动模式配置错误,发现ftp都是vsftpd的方式,没有用xinetd代理,而且主被动模式都是一致,那为什么会有的机器行,有的机器不行呢?添加jsp模拟下载,类似如下代码(使用的ftp类来自于commons-net-3.1.jar)

        FTPFile[] files = ftpClient.listFiles(fileName);
        out.prinln(files.length);
发现在files.length总是0,同时,抓包发现,list目录是可以返回文件的详细信息的,但是直接list文件却无法读取到;虽然给了成功响应Response: 150 Here comes the directory listing

后来查了一下vsftpd版本,正常可用机器上的vsftpd版本为vsftpd-2.0.7-4.25.1,问题机器上为vsftpd-2.0.7-4.29.1,于是卸载vsftpd,再安装低版本重试,问题解决。

其实问题根因没有来得及深入去追究,比如为什么在略高那么一点点的版本上就不能list出具体文件,看下载源码也没发现问题,希望看到本文的有缘人可以去探究一把

2017-11-7 补充,经过确认,是我司服务器本版本配套的vsftp版本问题

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值