FTP虚拟主机代理

我设立OpenVZ将我的几个站点彼此分开。 我有一个外部IP地址,我用来服务我的网站。 我使用nginx将http请求代理到每个容器中的nginx,然后将它们代理到apache或fast-cgi并提供静态内容。 我想有一个类似于nginx的FTP来代理请求到相应的FTP服务器内的容器内的基于它的主机名。 基于DNS主机名的FTP协议是否可以实现虚拟主机?

PS确定我可以在全局区域的FTP服务器的configuration中设置相应的path到/ vz / private / ….但这不是很好的解决scheme。 共享主机的最佳做法是什么?

您不能通过站点的域名redirectFTPstream量,因为FTP不能通过HTTP运行。 幸运的是有WebDAV–代替​​了通过HTTP运行的FTP。 WebDAV只是一个标准,但许多Web服务器实现它。 例如Apache有mod_dav 。

看起来,使用Nginx代理WebDAV有点复杂: http : //blog.agoragames.com/2009/03/20/webdav-nginx-play-nice/

我用Pound (一个HTTP前端)做了这个,很简单。

这是我的英镑configuration文件的外观。

# WebDAV ListenHTTP Address mylab.edu Port 818 xHTTP 3 Service HeadRequire "^Host: anotherlab\.edu:818$" BackEnd Address openvzhost1 TimeOut 60 Port 818 End End Service HeadRequire "^Host: anotherlab2\.edu:818$" BackEnd Address openvzhost1 TimeOut 60 Port 818 End End End 

不要在头节点上运行FTP服务器。 这可能不是很安全。

最好的做法是不要在OpenVZ头节点上运行任何服务。