当前位置: 首页 > 知识库问答 >
问题:

在被动模式下使用Apache FTP服务器不工作(“服务器拒绝连接”)

查淮晨
2023-03-14

我已经实现了一个基于此Apache项目的FTP服务器:http://mina.apache.org/ftpserver-project/index.html

服务器旨在支持被动模式并进行相应配置。出于测试目的,我仅配置了一个被动端口(4244),但启动服务器后此端口上没有任何内容被监听。FTP服务器正在监听标准端口用于主动连接和SSL连接。

当尝试与FTP客户端连接时,我会收到以下错误(不足为奇):

状态:解析本地主机的地址

状态:正在连接到[::1]:4244。。。

状态:连接尝试失败,出现“ECONNREFUSED-连接被服务器拒绝”,正在尝试下一个地址。

状态:正在连接到[fe80::1%lo0]:4244。。。

状态:连接尝试失败,出现“ECONNREFUSED-连接被服务器拒绝”,正在尝试下一个地址。

状态:正在连接到127.0.0.1:4244。。。

状态:连接尝试失败,返回“ECONNREFUSED-连接被服务器拒绝”。

错误:无法连接到服务器

我的配置对象是从Apache项目中实现这个接口:DataConnectionConfiguration

我在类中加入了一些日志,并注意到提供被动端口的方法从未被调用。我希望调用其中一个方法(例如requestPassivePort()),否则FTP服务器怎么知道侦听哪个被动端口?再说一次,也许我对被动FTP的工作原理有误解。尽管Apache项目中有一些文档,但在被动模式下运行服务器的内容并不多。

也许有人使用这个Apache库成功地实现了被动FTP服务器,可以为我提供一些帮助。

谢谢。

干杯

马丁

共有1个答案

龚博涛
2023-03-14

如果其他人有类似的问题:问题是几个接口方法没有完全实现。-getExternalAddress()返回一个空值,Apache库没有正确处理它(好吧,它应该也接受空值,但没有)-当所有被动端口都用完时,Request estPassivePort()没有返回-1。

在完全实现这些方法后,通过防火墙以被动模式访问是有效的。

 类似资料:
  • 问题内容: 前几天,我的GoDaddy托管网站遇到了一些问题。我打电话给他们的技术支持,与我交谈的人建议我的问题与我在Windows机器上,最好在Linux机器上使用有关。我对此没有意见,我同意了,他们把我换了。 过渡之后,我的PHPMailer功能让我迷茫了。我已经工作了几个月,所以我知道我的设置是正确的。我已与GoDaddy确认,从他们的角度来看,我要发送的帐户并未更改。用户侧未进行任何更改(

  • 我正在使用NAT开发一个微服务web应用程序(React和Node)并在GCP Kubernetes集群上运行它。 我无法连接到NAT流服务器POD。端口4222和8222是打开的。我收到连接拒绝错误。 $kubectl描述服务NAT-Srv

  • 我能够在库伯内特斯将两个节点聚集在一起。主节点似乎运行良好,但是在工作节点上运行任何命令都会导致错误:“拒绝与服务器localhost:8080连接——您指定了正确的主机或端口吗?” 来自大师(node1), 来自工作者(节点2), 我不知道如何解决这个问题。感谢您的帮助。 在执行时,"Journal alctl-xeu kubelet"我看到:"CNI未能检索网络命名空间路径:无法为终止的容器找

  • 我正在尝试连接两个docker容器,一个是posgresql,另一个是python flask应用程序。两者都链接正确,python应用程序中的所有连接变量都直接取自postgres容器中通过链接公开的连接变量,并且与检查postgresql容器时发现的连接变量相同。当我将psql与连接字符串中的精确参数一起使用时,即: 成功连接到postgres容器中的数据库,因此我知道postgres正在通过

  • 寻找类似问题的堆栈溢出解决方案并没有解决我的问题,所以希望分享我目前的经历来帮助调试这个问题。 那么一个小小的序言;几天前,我最初安装了minikube/kubectl。今天我继续尝试学习minikube教程,现在遇到了一些问题。我在看迷你入门指南。 我在苹果电脑上。我的版本: $ kubectl版本 $minikube版本 $ vboxmanage --version 以下是我尝试检查响应的一系

  • 我是库伯内特斯的初学者。我正在尝试安装迷你库贝,想在库伯内特斯中运行我的应用程序。我正在使用乌班图 16.04 我已遵循此处提供的安装说明https://kubernetes.io/docs/setup/learning-environment/minikube/#using-带有http代理的minikube 问题1:在安装了kubectl、virtualbox和minikube之后,我运行了命