设置两台服务器使用不同的IP并应用单个域名

设置两台服务器使用不同的IP并应用单个域名

我想设置具有不同 IP 的两台服务器并应用单个域。

服务器 1

供应商:Azure
操作系统:Windows 2019
应用程序:MVC 应用程序

我们在 Azure 中拥有虚拟机并运行 Windows Server。一些应用程序托管在 IIS 中并用作公司生产网站。包含静态页面、动态页面

服务器 2(即将创建)

供应商:Azure
操作系统:Linux
应用程序:Wordpress

我们希望将静态页面移至 WordPress 等 CMS,以便快速创建页面,而不是从头开始创建。但是,我们将从服务器 1 继续在 MVC 应用程序中使用动态模块,例如支持、销售、订单、订阅。

在这种情况下,如果有人访问不同的 URL,它应该从不同的服务器提供服务
www.example.com – 服务器 1
www.example.com/sales – 服务器 1
www.example.com/products - 服务器 2
www.example.com/products/aa - 服务器 2

注意:域名本身是相同的。但两个服务器的 URL 并不相同。

答案1

请注意,我永远不会在生产站点上执行此操作,但是,如果我要做这样的事情,我会使用 IP。

例如-

将DNS映射到服务器1的服务器IP:

www.example.com – 服务器 1

www.example.com/sales – 服务器 1

然后在您的应用程序中使用服务器 2 的 IP 来执行以下操作:

www.example.com/products - 服务器 2

www.example.com/products/aa - 服务器 2

这可能需要多做一些工作,具体取决于您使用的是相对 URL 还是绝对 URL,这取决于您的 Notepad++ 技能,应该很容易更改。

在服务器 2 上,确保您在 httpd.conf 中使用 vhosts 或仅托管 1 个站点以保持域默认值。

我不能 100% 确定重写是否有效,但是如果您希望保留 URL example.com 而不是 123.456.123.332,那么 iframe 可能是可行的方法。

祝你好运。

答案2

您需要在两台服务器前面安装类似反向代理的东西来将流量引导到适当的位置。 Azure 应用程序网关将执行此操作,允许您根据路径规则路由到不同的位置。

在此处输入图片描述

这不是最便宜的方法,也有自己的问题,但它能满足你的需要。参见这里更多细节。

您还可以查看其他开源应用程序,如 Nginx、HAProxy 等。

相关内容