1

到目前为止,我一直无法找到允许我使用子域完成反向代理到内部 ftp 服务器的 Ubuntu 软件包或配置,如下所示:

 FTP Client > ftp://abc.mydomain.com > ftp://some.lan.machine.or.ip
 FTP Client > ftp://xyz.mydomain.com > ftp://some.other.lan.machine.or.ip

我相信 Nginx 不支持 FTP,那么是否有另一种解决方案允许通过子域进行 FTP 反向代理?最低限度,标准端口 21 是必需的,当然代理解决方案应该能够抵抗攻击。内部服务器也在 Ubuntu 上运行,带有纯 ftpd 和虚拟用户身份验证。

4

2 回答 2

2

使用 ProFTPD 的mod_proxy模块,您现在应该能够完成此操作。例如,您可以mod_proxy像这样配置代理这些域:

<VirtualHost abc.mydomain.com>
  ProxyEngine on
  ProxyTables /var/ftpd/proxy.d/abc

  # Act as a reverse proxy for these servers
  ProxyRole reverse
  ProxyReverseServers ftp://some.lan.machine.or.ip
</VirtualHost>

<VirtualHost xyz.mydomain.com>
  ProxyEngine on
  ProxyTables /var/ftpd/proxy.d/xyz

  # Act as a reverse proxy for these servers
  ProxyRole reverse
  ProxyReverseServers ftp://some.other.lan.machine.or.ip
</VirtualHost>

如果您的 FTP 客户端不使用新的 FTPHOST命令(对于 FTP 中基于真实名称的域),则“abc.mydomain.com”和“xyz.mydomain.com”DNS 名称将需要解析为不同的 IP 地址(或上述虚拟主机将需要单独的端口)。但希望您的 FTP 客户端确实支持HOST,以便上述配置可以使用相同的 IP 地址和端口工作。

希望这可以帮助!

于 2016-01-26T17:29:43.757 回答
0

我一直在寻找同样的东西,发现这个网页描述了如何设置正向和反向 ftp 代理。我还没有测试过。

于 2014-03-23T20:22:22.500 回答