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

Windows Docker Desktop环境Nginx Ingress Controller转发请求异常问题

问题根因

  1. Ingress未绑定对应控制器:Ingress NGINX Controller v1.0+ 版本要求Ingress资源明确指定要关联的IngressClass,未指定的Ingress规则不会被控制器加载,因此初始日志会抛出ingress does not contain a valid IngressClass错误。
  2. 配置字段大小写不匹配:你提供的初始Ingress配置中,规则下引用的Service端口名称为大写HTTP,但Service定义中的端口名称为小写http,Kubernetes中端口名称大小写敏感,会导致路由匹配失败。
  3. HTTPS请求无对应规则:当前Ingress未配置TLS字段及对应证书,控制器不会为该域名生成HTTPS路由配置,因此HTTPS访问会落到NGINX默认后端返回404。

解决步骤

  • 明确Ingress与控制器的绑定关系:除了添加你已经使用的注解外,更符合networking.k8s.io/v1规范的方式是在Ingress的spec下添加如下配置:
spec:
  ingressClassName: nginx
  # 其余原有配置保持不变
  • 修正端口名称大小写:将Ingress规则中port.name的HTTP改为和Service一致的小写http。
  • 若需支持HTTPS访问,先为kubernetes.docker.internal签发TLS证书,将证书存入集群Secret,再在Ingress配置中添加TLS配置关联对应Secret和域名即可。
  • 配置更新生效后,使用HTTP协议访问http://kubernetes.docker.internal即可正常转发到后端Pod。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:06:03