Назад | Перейти на главную страницу

Прокси виртуального хостинга FTP

Я настраиваю OpenVZ, чтобы разделить несколько своих сайтов друг от друга. У меня есть один внешний IP-адрес, который я использую для обслуживания своих сайтов. Я использую nginx для прокси http-запросов к nginx в каждом контейнере, который затем проксирует их на apache или fast-cgi и обслуживает его статический контент. Я хочу иметь что-то похожее на nginx для FTP для прокси-запросов к соответствующему FTP-серверу внутри контейнера на основе его имени хоста. Возможен ли виртуальный хостинг по протоколу FTP на основе имени хоста DNS?

P.S. наверняка я могу настроить соответствующий путь к / vz / private / .... в конфигурации FTP-сервера в глобальной зоне, но это не очень элегантное решение. Каковы лучшие практики виртуального хостинга?

Вы не можете перенаправить FTP-трафик по доменному имени сайта, потому что FTP не работает через HTTP. К счастью, есть WebDAV - замена FTP, которая работает через HTTP. WebDAV - это просто стандарт, но многие веб-серверы его реализуют. Например, у Apache есть mod_dav.

Кажется, что использовать Nginx для проксирования WebDAV немного сложно: http://blog.agoragames.com/2009/03/20/webdav-nginx-play-nice/

Я сделал это с Фунт (интерфейс HTTP), и это было просто.

Вот как выглядит мой файл конфигурации Pound.

# 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.