我遇到了 Azure 负载均衡器的问题,尽管有一个预定义的入站规则应该允许来自负载均衡器的流量,但我无法访问我的私有虚拟机。
设置如下:
操作系统:Windows(Windows Server 2022 Datacenter Azure Edition) 大小:标准 B4ms(4 个 vcpu、16 GiB 内存) 地区:美国东部
我已经部署了安装了 IIS 的私有虚拟机。 我创建了一个公共标准负载均衡器并将虚拟机附加为后端目标。 Azure 自动创建了一个名为“AllowAzureLoadBalancerInBound”的入站规则,其属性如下: 优先级:65001, 端口:任意, 协议:任何, 来源:AzureLoadBalancer, 目的地: 任意, 操作:允许虚拟机的入站规则。
以下是一些其他详细信息:
我没有定义任何入站 NAT 规则和出站规则。
运行状况探测和后端池配置正确,运行状况探测结果为 100%。
不存在防火墙问题,因为显式添加 HTTP 流量的入站规则允许访问 IIS 页面。
我很困惑为什么我需要创建额外的入站规则,而 Azure 已经有一个预定义的规则来允许从负载均衡器到后端虚拟机的流量。
任何有关可能导致此问题的原因的见解或建议将不胜感激。谢谢!
尽管有预定义的入站规则,Azure 标准负载均衡器仍不将流量路由到 VM 的问题。
您遇到的问题可能是由于
Network Security Group
中缺少允许来自安装在 Windows Server 上的 IIS 服务器的端口 80 上的流量的规则。
IIS 服务器配置
负载均衡规则:
负载均衡器IP:
NSG 规则:
您所指的不是您的负载均衡器; Azure 中默认提供它,用于管理 Azure 基础结构。您可以查看 Microsoft 文档以获取可用的服务标签,包括 AzureLoadBalancer: 可用服务标签:AzureLoadBalancer。
您可以参考使用 Azure 门户 MS Doc 创建公共负载均衡器以对虚拟机进行负载均衡,因为它需要打开负载均衡规则后端端口中使用的端口。
例如,如果您在负载均衡器规则中使用端口 80 作为后端,则应在网络安全组中允许它。
可使用端口
50000通过
Load Balancer
公共 IP 地址访问该应用程序。