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

«Разделенные» веб-серверы

Моя компания в настоящее время имеет единственный веб-сервер на базе Windows, который используется для обслуживания нашего основного веб-сайта вместе с некоторыми приложениями .NET, которые находятся в подкаталогах.

Мы только что завершили разработку новой версии нашего основного веб-сайта на Drupal. Мой босс не хочет устанавливать PHP на наш текущий сервер.

У нас есть возможность создать виртуализированный веб-сервер, на котором можно установить PHP, и мы можем обслуживать наш основной веб-сайт. Мы можем сделать это ЛАМПА или Windows. Однако мой босс хочет, чтобы все приложения .NET оставались на текущем сервере.

Как я могу настроить виртуализированный сервер, на котором запущен новый главный сайт, для «проталкивания» запросов подкаталогов на исходный сервер?

Вы, вероятно, захотите использовать что-то вроде Apache обратный прокси директивы. Может быть так просто, как:

ProxyPass /foo/ http://www.windowsbox.com/foo/
ProxyPassReverse /foo/ http://www.windowsbox.com/foo/

Это перенаправит все запросы в папку / foo / на вашем сервере Apache в папку / foo / на вашем Windows Box. Все ссылки на страницах в окне Windows будут переписаны для правильной работы.

Возможно, вам также придется загрузить все прокси-модули, перечисленные в верхней части эта страница через LoadModule.


- Кристофер Карел

Я использую SQUID для прозрачной перезаписи с помощью простого скрипта PERL, выполняющего регулярное выражение, указанное с помощью redirect_program.

Другие веб-прокси также поддерживают перезапись. Кристофер Карел идентифицированный Mod_proxy Apache и Nginx поддерживает это. Фактически, я был бы удивлен, если бы веб-прокси не поддерживал перезапись.

Убедитесь, что вы понимаете разницу между перезаписью и перенаправлением:

  • Перезаписать - прозрачно прокси на другой внутренний сервер на основе URI без ведома клиента.
  • Перенаправление - направляет клиента в другое место в рамках протокола HTTP.