![EC2 Linux 实例的被动 FTP 停止工作](https://linux22.com/image/635166/EC2%20Linux%20%E5%AE%9E%E4%BE%8B%E7%9A%84%E8%A2%AB%E5%8A%A8%20FTP%20%E5%81%9C%E6%AD%A2%E5%B7%A5%E4%BD%9C.png)
我需要从供应商的 ftp 服务器提取文件。代码 (php) 在我的本地 ubuntu 实例和 Mac 中运行良好。它在 AWS 中运行良好(连接到其他供应商时仍然如此)。它停止为特定供应商工作(与他们一起打开了案例)。代码连接、更改目录并检索远程文件列表,没有任何问题。当我尝试对远程文件执行 ftp_get 时出现问题。它挂起然后超时。是的,我使用的是被动模式。
我尝试使用标准 Linux FTP 客户端 (AWS Linux) 复制此行为。同样,我可以连接并更改目录,但当我尝试列出包含文件的目录的内容时,我收到以下消息,然后它无限期挂起:227 进入被动模式 (64,156,167,125,173,169) 150 文件状态正常;即将打开数据连接。
我能做些什么来解决这个问题,还是说问题出在供应商方面,而我只能等到他们回复我的票了?
答案1
听起来好像现有的 aws 安全组不允许为 FTP 的被动模式打开端口进行连接,一旦它在 ftp 配置文件中分配的端口上打开数据连接,我不会说你除了尝试主动模式之外什么也做不了:)