请教下,想通过代理层访问 FTP 有没有什么方案?
- 0次
- 2021-06-21 09:02:24
- idczone
测试了下 nginx,装了 stream 模块, 到登录界面,输入账号密码后就没有响应了。。。
ftp 的一次会话需要开放两个端口
1. 命令口 用于传输指令, 如 cd ls (端口固定)
2. 数据口 用于数据传输, 如上传和下载
数据口基于模式的不同, 可以分为:
1. ftp 客户端发起连接到 ftp 服务端(服务端需要开放一组端口)
2. ftp 服务端主动发起连接到 ftp 客户端 (客户端需要打开防护墙,并且不能经过 nat ),这种模式要求不太现实,所以不用
那么你的问题现在就是:
如何通过 nginx 反代 一组 ftp 服务器的一组数据端口
对方只给了一个默认的 21 端口。。。
那就不要想了, 对方 ftp 协议都不理解, 怎么可能实现
不理解协议的是你啊
服务器用 PASV 模式就可以
不管你用什么模式, 主动或者被动, 必须要有两个端口 ftp 协议在一个会话中才能工作, 你给我演示一下如何使用一个端口进行 ftp 服务
客户端会使用代理服务器建立数据通道的 TCP 连接的
对方只给了一个默认的 21 端口。。。
题主说了只有一个命令口
所以,sftp 吧。ftp 这种上古的东西,别用了