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

本地k8s集群访问Traefik v2 Dashboard返回404 Not Found如何解决?

本地K8s集群访问Traefik Dashboard 404问题解决方案

1. 确认Traefik Dashboard功能已启用

  • Helm部署场景:检查values.yaml配置中dashboard.enabled是否设为true,本地测试场景建议同时开启dashboard.enableInsecure跳过TLS校验,生产环境可按需配置 TLS 证书规则
  • 手动部署场景:检查Traefik启动参数,必须包含--api.dashboard=true,如果走80端口直接访问需额外添加--api.insecure=true参数

2. 校验路由规则配置正确性

针对Traefik原生IngressRoute配置

  • 必须同时匹配/dashboard和/api两个路径前缀,仅配置/dashboard会导致前端接口请求404
  • entryPoints需指向你实际访问的端口(默认web对应80端口、websecure对应443端口)
  • 后端服务必须指向Traefik内置服务api@internal,参考配置片段:
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: traefik-dashboard
  namespace: traefik
spec:
  entryPoints:
    - web
  routes:
    - match: Host(`traefik.local`) && (PathPrefix(`/dashboard`) || PathPrefix(`/api`))
      kind: Rule
      services:
        - name: api@internal
          kind: TraefikService

针对K8s原生Ingress配置

  • 必须添加annotation:kubernetes.io/ingress.class: traefik
  • 路径规则需同时覆盖/dashboard和/api两个前缀
  • 若配置了StripPrefix中间件,请勿裁剪/dashboard前缀,否则会路由到根路径返回404
  • 确认Ingress/IngressRoute所在namespace与Traefik服务namespace匹配,或已配置跨namespace引用规则

3. 校验访问地址与Host解析

  • 如果配置了Host匹配规则,需在本地hosts文件添加对应域名解析,指向K8s节点IP或Traefik的LoadBalancer/NodePort对外IP
  • 访问地址必须携带/dashboard/后缀,末尾斜杠不可省略,直接访问/dashboard不带斜杠也会返回404,正确访问示例:http://traefik.local/dashboard/

4. 内部连通性排查

先通过端口转发排除Dashboard本身启用问题,执行命令:
kubectl port-forward -n traefik $(kubectl get pods -n traefik -l app.kubernetes.io/name=traefik -o name) 9000:9000
本地访问http://127.0.0.1:9000/dashboard/,如果能正常打开说明问题出在外部路由配置,若仍然404则说明Dashboard本身未成功启用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 01:15:03