无法访问Azure Windows Server VM中IIS托管的网站如何排查解决
Azure Windows Server 2019 虚拟机IIS站点外部无法访问排查方案
已知前置条件:公网IP已分配、NSG HTTP入站规则已配置、Windows防火墙80端口已放通、本机访问站点正常、telnet公网IP 80端口连通性正常
优先级1:IIS站点绑定配置校验
- 打开IIS管理器,选中故障站点,右键选择「绑定」,检查80端口的HTTP绑定规则:
- 若绑定指定了固定内网IP,确认该IP和NSG入站规则的目标IP完全一致
- 若绑定配置了主机头,外部直接用公网IP访问会被IIS拒绝,可临时将IP绑定改为
全部未分配,清除主机头配置后重试公网IP访问 - 禁止绑定127.0.0.1,该配置仅允许虚拟机本地访问站点
- 若访问时返回403错误,检查站点根目录的ACL权限,确认
IUSR、IIS_IUSRS用户组拥有目录的读取权限,同时检查站点默认文档是否配置了对应的首页文件。
优先级2:NSG规则有效性校验
- 确认HTTP入站规则的优先级数值低于(优先级数字越小权重越高)所有拒绝80端口访问的规则,Azure NSG按优先级顺序匹配规则,匹配到第一条符合条件的规则后就会终止校验
- 确认NSG的关联对象正确:既要绑定到故障虚拟机的网卡,也要确认虚拟机所在的虚拟子网没有绑定其他NSG、且子网层级没有更高优先级的拒绝规则覆盖网卡层级的放通规则
- 检查NSG是否开启了流量日志,可通过日志确认外部访问请求是否被NSG拦截。
优先级3:端口与进程校验
- 虚拟机内打开管理员权限的命令提示符,执行
netstat -ano | findstr ":80",确认监听80端口的进程ID对应的是IIS工作进程(w3wp.exe),没有被其他Web服务、系统进程占用端口。
优先级4:资源组层级策略校验
- 对比同租户下可正常访问的另一客户资源组的虚拟机网络配置,确认当前故障资源组没有配置Azure Policy禁止80端口入站,也没有关联WAF、虚拟网络网关等额外网络资源拦截公网访问请求。
内容的提问来源于stack exchange,提问作者Tony Kelly
相关产品推荐
相关产品推荐

