You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AKS集群配置TLS后通过Nginx Ingress访问Web应用外部IP失败问题

问题产生原因
  • 你配置的Ingress规则是基于域名的路由规则,仅当请求的Host头匹配demo.azure.com时才会命中该规则。直接使用外部IP发起访问时,请求的Host头为IP地址,无法匹配已配置的Ingress规则,Nginx Ingress会返回默认404错误页,对应你截图的HTTP访问报错。
  • TLS配置仅绑定了demo.azure.com域名,你申请的TLS证书的CN/SAN字段仅包含demo.azure.com,用IP发起HTTPS请求时无法通过证书校验,会触发证书不匹配错误,对应你截图的HTTPS访问报错。
  • 删除TLS和host字段配置后HTTP可正常访问,是因为去掉域名限制后该Ingress会成为默认路由规则,所有未匹配其他规则的请求都会转发到对应的后端服务,因此访问恢复正常。
排查解决方法

方案1:适配现有域名配置访问

该方案不需要修改集群配置,仅调整本地访问规则即可:

  • 找到本地设备的hosts文件:Windows系统路径为C:\Windows\System32\drivers\etc\hosts,Linux/macOS系统路径为/etc/hosts
  • 在文件末尾添加记录:[你的Ingress外部IP] demo.azure.com
  • 保存后直接通过https://demo.azure.com访问即可正常加载应用,证书也会校验通过。

方案2:调整Ingress配置支持IP直接访问

如果确实需要通过IP直接访问服务,按需求调整Ingress配置:

  1. 若仅需HTTP访问IP:删除Ingress配置中的TLS段,同时删除rules下的host: demo.azure.com字段即可。
  2. 若需要HTTPS访问IP:先申请包含该Ingress外部IP作为SAN字段的TLS证书,更新aks-ingress-tls密钥内容,再删除rules下的host: demo.azure.com字段即可。

配置正确性验证

可以通过以下命令确认Ingress本身配置正常:

# 验证HTTPS配置
curl -k --resolve demo.azure.com:443:[替换为你的Ingress外部IP] https://demo.azure.com

# 验证HTTP配置
curl --resolve demo.azure.com:80:[替换为你的Ingress外部IP] http://demo.azure.com

如果命令返回应用的正常响应内容,说明Ingress配置没有问题,仅为访问方式和配置不匹配导致的报错。

内容的提问来源于stack exchange,提问作者Franco Tiveron

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 00:39:01