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

访问Kubernetes前端服务出现Whitelabel Error Page 404该如何排查?

Kubernetes访问前端服务返回404白标错误排查步骤

这个报错是SpringBoot服务的默认错误页,说明你发出的请求没有打到预期的Nginx前端服务,大概率被路由到了后端Spring服务,可按以下顺序排查:

1. 验证集群内部前端服务可用性

先排除K8s内部服务配置错误:

  • 执行kubectl get svc确认前端服务的EXTERNAL-IP和你访问的公网IP一致
  • 执行kubectl describe svc <前端服务名称>检查Selector字段是否匹配前端Nginx Pod的标签,Port/TargetPort映射是否正确对应Nginx容器的监听端口(默认80)
  • 临时启动测试容器访问内部服务IP,验证返回内容:
    kubectl run -it --rm --image=curlimages/curl curl-test -- curl http://<前端服务集群IP>
    
    如果返回内容还是404白标页,说明服务的Selector配置错误,请求被转发到了后端Pod;如果返回正常的Nginx页面,问题出在集群外部访问链路。

2. 排查Nginx前端Pod配置

如果内部访问前端服务也异常,检查Pod本身配置:

  • 拉取Pod运行日志看是否有启动报错:kubectl logs <前端Nginx Pod名称>
  • 进入Pod验证Nginx配置和静态文件是否存在:
    kubectl exec -it <前端Nginx Pod名称> -- bash
    # 进入容器后执行以下检查
    cat /etc/nginx/conf.d/default.conf
    ls <配置中root指定的静态文件目录>
    
  • 本地直接运行镜像验证可用性:docker run -d -p 8080:80 stacksimplify/Kube-frontend-nginx:1.0.0,访问本地8080端口看是否能正常打开页面,排除镜像本身配置错误的问题。

3. 检查外部访问链路配置

如果内部访问正常,排查集群外部到内部的链路:

  • 登录Azure控制台查看负载均衡器的后端池配置,确认是否绑定了前端服务对应的后端节点,没有错误绑定到后端服务的入口
  • 如果使用了Ingress暴露服务,检查Ingress规则的path和host配置是否正确,有没有将前端路径的请求错误转发到后端服务。

4. 验证前后端路由规则

如果访问特定路径才出现404,检查路由配置:

  • 查看Nginx配置中的反向代理规则,是否将静态资源请求也错误转发到了后端服务
  • 如果前端是SPA单页应用,确认Nginx是否配置了try_files $uri $uri/ /index.html;规则,否则直接访问前端路由路径会返回404。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 00:09:04