我有大约 3 个内部 FTP 服务器,分别名为server1
、、server2
。server3
我有 1 个公共静态 IP 地址,并且所有流量example.com
都指向它。
现在我需要创建一个配置,这样如果用户 FTP 使用ftp://server1.example.com
它就应该登陆server1
,如果用户 FTP 使用ftp://server2.example.com
它就应该登陆server2
。
我不确定如何实现这一点。我尝试使用 Squid,但它不适用于 FTP,因为 FTP 没有主机概念。
答案1
你不能,因为 FTP 没有像 HOST 标头这样的东西使得 HTTP 能够做到这一点,正如你自己指出的那样。
对于某些用例(显然不适用于匿名 FTP),可行的方法是通过 NFS 将“后端”服务器的存储安装到前端服务器,然后使用指向 NFS 安装点的“主目录”作为用户名。前端将执行实际的 FTP 传输,但它从后端服务器获取磁盘空间。