我有一个托管在 VM server2012r2 上的应用程序。此应用程序有一个运行 .NET 5 (Kestrel) 的 Web 部件。可通过http://<serverip>:808
或访问 Webpart https://<serverip>:4434
。
我已经设置了第二个 VM,即服务器 2019。该应用程序也安装在那里(.NET 5,Kestrel),也可以通过端口 http:808 或 https:4434 在服务器上访问 webpart。
该应用程序的配置方式使其指向同一个数据库等......
所以基本上它是两个应用程序一起工作,但都可以通过自己的门户访问。
我唯一的问题是有两个指向相同的门户:
http://<server2012>:808
和 http://:808`
(或者对于端口 4434 的 https 相同)。
我的想法是启用 Microsoft 网络负载平衡器,以便
(A)最终用户只需访问http://<something>:808
或https://<something>:4434
代替记住两个门户 IP 之一;
(B)流量在两者之间进行负载平衡(如果一个不可访问,它会转到可用的一个(我不确定 nlb 是否能够做到这一点?))。
我遵循了一个教程,因为这是我第一次使用 microsoft nlb。https://www.serverlab.ca/tutorials/windows/web-servers/load-balancing-web-servers-with-windows-server-2012-r2/
我面临的问题是,当我使用参数、IP 地址(192.168.0.88)和完整的互联网名称(nlbtest.com)创建一个新集群并为集群 IP 192.168.0.88 添加一个从 808 到 808 的 TCP 端口时我无法再通过远程桌面访问我的服务器。
服务器 2012r2(VM 1 NIC):192.168.0.90在http://192.168.0.90:808 或https://192.168.0.90:4434
上运行 kestrel Web 应用程序
服务器 2019(VM 1 NIC):192.168.0.91在http://192.168.0.91:808或https://192.168.0.91:4434
上运行 kestrel Web 应用程序
群集 IP:192.168.0.88 用于 TCP 端口 808
当我通过 microsoft nlb 在 server2012r2 上配置它时,我不再有任何连接。我只能在主机上使用 hyper-v 管理器来访问虚拟机,而在虚拟机中我无法再 ping 或上网。
我在做什么明显错了?
这可能是因为您在单播模式下运行 NLB,而服务器中只有一个 NIC。每次打开 NLB 管理界面时,其实都有一个警告:
因此,要么使用 NLB 接口,正如您的文章还建议的那样,要么使用多播模式。两种模式都有其优点和缺点,这取决于您的网络基础设施您应该喜欢哪种模式。
阅读:https ://docs.microsoft.com/en-us/troubleshoot/windows-client/networking/configure-network-to-support-nlb-operation-mode