无法通过浏览器/Postman访问AKS Ingress公网IP问题求助
问题排查思路
首先做基础判定:同个Ingress外部IP,在Azure CLI环境下curl可正常返回响应,说明K8s集群内Pod、Service、Ingress配置全链路正常,故障点在集群外的网络链路或客户端侧,按以下优先级逐一排查:
- 第一优先级:校验Azure网络安全组(NSG)入站规则
AKS创建的LoadBalancer对应的NSG默认存放在名称格式为MC_<AKS资源组名><集群名><区域>的自动生成资源组中,检查关联到LB公网IP、AKS节点网卡的NSG入站规则,确认是否放通你本地客户端公网出口IP对80、443端口的访问权限。典型场景:部署时仅放通了Azure内网IP段,Azure CLI本身运行在Azure内网环境因此访问正常,本地公网IP未被放通则会出现连接超时。可在本地执行
tracert <你的Ingress外部IP>定位丢包位置,如果请求在Azure边缘网关节点就开始丢包,可直接确认是NSG或Azure防火墙拦截。 - 第二优先级:排查本地网络出口限制
先关闭本地所有代理、VPN、网络加速类工具,切换到手机蜂窝移动网络(不要连接同一WiFi)直接访问外部IP测试:- 如果移动网络下可正常访问,说明原网络存在出口策略限制(比如企业内网封禁对公网80端口的主动访问、本地运营商链路路由故障)
- 如果移动网络下依旧超时,继续排查下一项
- 第三优先级:校验Azure Load Balancer后端健康状态
进入Azure控制台查看ingress-nginx对应的LoadBalancer后端池健康探测结果,确认80、443端口的探测状态全部为健康。如果存在探测失败的节点,Azure LB会将部分来源的流量转发到异常节点导致超时,可临时关闭LB会话保持配置后重试。 - 第四优先级:校验客户端请求特征匹配
在本地终端执行带浏览器特征的curl命令模拟真实浏览器请求,排除请求头差异导致的异常:curl -v -H "Host: <你的Ingress外部IP>" -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36" http://<你的Ingress外部IP>- 如果本地执行上述命令可正常返回响应,说明故障出在浏览器/Postman的本地配置(比如强制HTTPS跳转插件、SSL证书校验规则、内置代理配置),逐一排查客户端设置即可
- 如果上述命令也超时,回到网络层排查链路路由、防火墙拦截问题
注:你当前提供的Ingress YAML配置、Pod/Service资源列表均无配置错误,不需要调整K8s侧资源参数。
内容的提问来源于stack exchange,提问作者Jayesh Tanna
相关产品推荐
相关产品推荐

