我有两个盒子 一个Ubuntu和一个Windows两个主机的HTTP和FTP站点之前,他们通过不同的IP连接到互联网,所以没有任何问题,但是,我们现在只有一个公共IP,我必须使这两台机器availlable没有changin端口。
现在,既处理不同的域名,我已经在ubuntu中添加了一个虚拟主机,该虚拟主机代理反向到所需域上的Windows盒子
但是,当涉及到ftp我不知所措如何处理在ubuntu框中的域A,并推迟域b由Windows窗口框处理?
我在ubuntu中使用vsftpd,在Windows中使用IIS
任何帮助赞赏
路易斯
不幸的是,ftp不支持http方式的基于主机名/ DNS的虚拟主机。
所以,如果你必须有两个单独的ftp站点,那么我build议获得一个额外的外部IP地址。
如果他们不是匿名的ftp站点,你可能会为每个ftp用户使用不同的chroot。
祝你好运。
一个解决方法是让其中一个盒子处理所有FTPstream量,其中一个用户上传到本地文件系统,另一个用户从另一个服务器导出文件共享。
或者将FTP一起使用并使用WebDAV,这将允许基于名称的虚拟主机。
嗯,
你有没有尝试使用SRVlogging为您的FTP服务器? 你需要实现一些DNS更改,而且他们必须映射到FTP服务器的内部IP地址,所以会涉及一些NAT,但是这听起来像是要走的路。 维基百科 :
A Service record (SRV record) is a specification of data in the Domain Name System defining the location, ie the hostname and port number, of servers for specified services.
并采取的forms
_service._proto.name. TTL class SRV priority weight port target.
所以对于你我会做类似的事情
_ftp._tcp.ftp1.example.com. 3600 IN 0 1 21 ftpserver1.example.com
当然,有一些方法可以将ftpserver1.example.comparsing到适当的IP中。
坏消息? 不是每个客户端软件都支持SRVlogging,所以也许
您应该使用侦听端口21的代理,并根据请求的DNS名称将stream量转发到相应的ftp服务器。