我浏览过帖子和网络列表,但没有找到我需要的东西,所以我会看看是否能在这里找到一些有意义的东西。
我应该说一下,我更像是一名程序员,碰巧做这件事是因为在这家公司,我对服务器最了解,但这并没有什么意义。
好的,设置如下。我们正尝试将我们的架构从一台数据库服务器 (ms sql) 和一台 Web 服务器 (IIS 7) 组合成多个数据库/Web 服务器组合,供所有客户使用,这些组合基本上都执行相同的任务,但它们不是一个巨大的失控数据库,而是被限制在较小的子集。我完成了这部分工作,没有失眠。问题是现在我们将有多个域尝试解析到同一个 IP,如果所有站点都托管在同一个 Web 服务器中,这不是问题,但每个域名都是自己的 Web 服务器,具有自己的 SSL 安全证书。
例如 www.example.com、www2.example.com、ww3.example.com 均指位于同一服务器机架中、位于同一外部 IP 地址后面的不同服务器。我不确定反向代理是否有效,或者如何针对 SSL 进行设置。
是否存在一个硬件设置,可以让我根据 URL 信息将端口 80 上的传入流量解析为 IP?
是否存在一种软件解决方案,不会干扰从网关路由到正确机器的传入流量上的 SSL?
我在 Google 和其他地方找到的所有东西都是针对 Apache 或 IIS 的,只有一个 Web 服务器,只需更改 URL 上的绑定即可。还提到了标头……但我知道的太少了,我不确定什么是正确/最佳/最安全的方法。
有关更多信息,我在这些机器上运行 SQL Server 2008 r2 和 Windows Server 2008 r2,并且仅限于 Windows 解决方案。在后台我们使用 asp.net/iis 7.0
编辑的附加信息:我正在查看具有通配符或多域证书的多个域名,因此 www 前缀将有所不同……www.example.com、www2.example.com、www3.example.com。每组域名将引用我们客户端的一个子集,因此第一组将使用 www.example.com,第二组将使用 www2.example.com。因此,当我们的客户端应用程序查找 Web 服务时,它会知道要使用哪个 Web 服务,但每个 Web 服务都是不同的机器。这将在代码中发生,因此最终用户不会知道架构已更改。
例如,我们的客户端程序调用 www.example.com/webService/someForm.aspx 来使用数据库,因此,如果是第 2 组,它将需要调用 www2.example.com/webService/someForm.aspx,该位置与 www.example.com/webService/someForm.aspx 位于同一位置,但如果不转到正确的服务器,将永远无法找到任何数据。
我希望这能更清楚地说明我的需要。
就硬件而言,我认为这可能是最简单的方法,但我不知道如何设置。我对网络解决方案几乎一无所知,这就是为什么我希望得到一些硬件建议。
就 Linux 解决方案而言,虽然我很乐意使用 Linux 并弄清楚它,但老板们并不了解 Linux,也不会接受需要使用它的解决方案。
答案1
TLDR 答案:是的,您需要反向代理。其他一切都是实现细节。
答案2
如果您可以更具体地说明您的愿望,这将会很有帮助 - 您是否尝试使用单个域名(例如 www.example.com)分发一组 Web 服务器?
如果我理解正确的话,您需要查看的是负载平衡器。从高端硬件设备到廉价/免费的基于 Linux 的解决方案,有很多不同的选择。我对基于 Windows 的软件解决方案不太满意。对于您,我推荐使用设备。
相关说明一下,如果您试图消除单点故障,那么您需要在高可用性配置中拥有两个这样的设备。