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

使用Minikube Ingress时直接访问Minikube IP返回404 NotFound问题

问题原因与解决方案

原因

Ingress Controller 通过请求的Host头匹配路由规则。你的Ingress资源http-ingress仅配置了example.com作为匹配主机名,直接curl Minikube IP192.168.49.2时,请求的Host头是该IP地址,Ingress Controller找不到对应路由规则,因此返回404 NotFound。

而curl example.com能正常访问,是因为/etc/hosts的域名映射让curl自动带上Host: example.com请求头,刚好匹配Ingress的路由规则,所以能正确路由到后端服务。

解决方案

方案1:修改Ingress配置,添加IP作为主机名

编辑现有Ingress资源:

kubectl edit ingress http-ingress

在spec.rules中新增针对Minikube IP的路由规则,指向同一后端服务:

spec:
  rules:
  - host: example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: 你的后端服务名称
            port:
              number: 你的后端服务端口
  # 新增IP对应的路由规则
  - host: 192.168.49.2
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: 你的后端服务名称
            port:
              number: 你的后端服务端口

保存退出后等待配置生效,再次执行curl 192.168.49.2即可正常访问。

方案2:临时测试时手动指定Host头

如果仅需临时验证,无需修改Ingress配置,可直接在curl命令中手动添加Host头:

curl -H "Host: example.com" 192.168.49.2

该请求会被Ingress Controller识别为针对example.com的请求,从而正常路由到后端服务。

内容的提问来源于stack exchange,提问作者Muha-mmad

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 20:45:41