哪些端口与ApacheCommons FTPClient和enterLocalPassiveMode()一起使用?

时间:2016-03-25 08:58:01

标签: java apache ftp firewall passive-mode

基本上我的防火墙存在问题,导致我的应用程序在尝试使用FTP存储文件时挂起。

我发现它与我的防火墙有关,允许通过端口进行访问。

我将连接端口设置为21(我也是默认设置),然后设置

ftp.enterLocalPassiveMode();

我尝试允许通过防火墙上的端口21进行访问,但它无效。

我注意到如果我想尝试记录

ftp.getPassivePort();

对于每个上传的项目,它都是一个随机端口,通常在30k-50k范围内。

我的应用程序确实允许“活动”模式,但由于这是一个将被许多用户使用的应用程序,似乎“被动”更受欢迎,但用户可能会遇到与我相同的错误。 / p>

所以我唯一能想到的是

  1. 以某种方式允许我的防火墙上的范围**(我没有看到范围的选项,因为其他值都是单个端口)**

  2. 如果这是通过(似乎是这种情况)的话,那就找个使用单个被动端口

  3. 请勿使用被动模式。似乎Passive被推荐用于许多帖子,但我不确定为什么它是完全需要的,为什么不提供主动呢?

  4. 根据http://wiki.apache.org/commons/Net/FrequentlyAskedQuestions

      

    您可以调用FTPClient.enterLocalPassiveMode()来启用被动模式。从那时起,FTPClient将在每次打开数据连接时发出PASV命令,直到您通过调用enterLocalActiveMode()或关闭连接来更改数据连接模式。   我很好奇是否有人知道我的最佳行动应该是什么?我不确定这是编程问题,还是更适合另一个“Stack Community?”

    所以它似乎最初处于活动模式。

    感谢您的帮助!

0 个答案:

没有答案