“拆分” Web 服务器

“拆分” Web 服务器

我的公司目前有一个基于 Windows 的 Web 服务器,用于服务我们的主要网站以及一些位于子目录中的 .NET 应用程序。

我们刚刚用 Drupal 开发完了我们主网站的新版本。我的老板不想在我们当前的服务器上安装 PHP。

我们有能力创建一个虚拟 Web 服务器,可以在其中安装 PHP 并为我们的主要网站提供服务。我们可以将其设置为 LAMP 或 Windows。但是我的老板希望所有 .NET 应用程序都保留在当前服务器上。

如何配置运行新主站点的虚拟化服务器以将子目录的请求“推送”到原始服务器?

答案1

你可能想要使用类似 Apache 的反向代理指令。可能就像下面这样简单:

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

这会将所有请求重定向到 Apache 服务器上的 /foo/ 文件夹,再重定向到 Windows Box 上的 /foo/ 文件夹。Windows box 上页面上的任何链接也将被重写以正常工作。

您可能还必须加载该页面通过LoadModule——Christopher


Karel

答案2

我使用 SQUID 透明地重写使用简单的 PERL 脚本执行指定的正则表达式重定向程序

其他 Web 代理也支持重写。Christopher Karel已识别Apache 的 mod_proxy 和Nginx支持它。事实上,如果 Web 代理不支持重写,我会感到惊讶。

请务必了解重写和重定向之间的区别:

  • 重写 - 根据客户端不知道的 URI 透明地代理到不同的后端服务器。
  • 重定向 - 作为 HTTP 协议的一部分,将客户端定向到不同的位置。

相关内容