请教下,想通过代理层访问 FTP 有没有什么方案?

2019-04-30 13:20:27 +08:00
 krisbai
测试了下 nginx,装了 stream 模块, 到登录界面,输入账号密码后就没有响应了。。。
2675 次点击
所在节点    Linux
8 条回复
lihongjie0209
2019-04-30 13:29:25 +08:00
ftp 的一次会话需要开放两个端口
1. 命令口 用于传输指令, 如 cd ls (端口固定)
2. 数据口 用于数据传输, 如上传和下载

数据口基于模式的不同, 可以分为:

1. ftp 客户端发起连接到 ftp 服务端(服务端需要开放一组端口)
2. ftp 服务端主动发起连接到 ftp 客户端 (客户端需要打开防护墙,并且不能经过 nat ),这种模式要求不太现实,所以不用


那么你的问题现在就是:

如何通过 nginx 反代 一组 ftp 服务器的一组数据端口
krisbai
2019-04-30 13:38:39 +08:00
@lihongjie0209 对方只给了一个默认的 21 端口。。。
lihongjie0209
2019-04-30 13:39:36 +08:00
@krisbai 那就不要想了, 对方 ftp 协议都不理解, 怎么可能实现
julyclyde
2019-05-03 09:46:13 +08:00
@lihongjie0209 不理解协议的是你啊

服务器用 PASV 模式就可以
lihongjie0209
2019-05-03 12:11:49 +08:00
@julyclyde 不管你用什么模式, 主动或者被动, 必须要有两个端口 ftp 协议在一个会话中才能工作, 你给我演示一下如何使用一个端口进行 ftp 服务
julyclyde
2019-05-03 12:26:27 +08:00
@lihongjie0209 客户端会使用代理服务器建立数据通道的 TCP 连接的
lihongjie0209
2019-05-03 12:34:19 +08:00
@julyclyde

对方只给了一个默认的 21 端口。。。



题主说了只有一个命令口
cubecube
2019-05-15 09:05:23 +08:00
所以,sftp 吧。ftp 这种上古的东西,别用了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/560085

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX