我希望有一个设置,可以告诉两台服务器中的任意一台是特定 IP 上的“主”服务器(出于冗余原因)。两台服务器应该随时可访问,但只有一台应该响应公共 IP。
IP 限制是因为基础设施依赖性超出了我的控制范围。
答案1
听起来像是 Windows 网络负载平衡服务的工作。它不一定进行负载平衡,您可以指定主节点,然后仅使用辅助节点进行故障转移。
NLB 的配置相当简单,总共需要 3 个 IP 地址(每个服务器一个,以及一个用于 Web 服务的虚拟 IP)。
答案2
我相信我找到了一个对我们有用的相当简单的解决方案:http://www.localwisdom.com/blog/2010/02/iis-7-reverse-proxy-share-1-ip-with-multiple-webservers/
摘录:模块:ARR、URL 重写器
“对于一个非常简单的反向代理,您所要做的就是:
在 inetmgr 上选择服务器节点。
双击应用程序请求路由图标。
选择/勾选“启用代理”。
选择/选中“使用 URL 重写检查传入请求”。
在“反向代理”中输入您想要将请求路由到的服务器 - 即(myserver.contoso.com)。
我们的设置是:www1、www2 - 服务器的内部名称,这些名称由单独的 IIS7 实例(响应公共 IP 和域)引用,可以根据需要反向代理 www1 或 www2。ARR 也可以编写脚本,这将使我们能够实现事件驱动的场景。