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

Kubernetes Nginx Ingress访问Dashboard返回400错误求助

解决Kubernetes Dashboard通过Ingress访问返回400错误的问题

问题描述

访问https://localhost/dashboard时收到400错误,提示内容为:客户端向HTTPS服务器发送了HTTP请求。

问题原因

Kubernetes Dashboard的Service端口443基于HTTPS协议提供服务,但当前Ingress配置默认以HTTP协议向后端转发请求,导致Dashboard服务收到不匹配的请求后返回错误。

解决方案

修改Ingress清单,添加指定后端协议为HTTPS的注解:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: root-ingress
  namespace: kubernetes-dashboard
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
    # 添加注解,指定后端使用HTTPS协议转发
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
spec:
  ingressClassName: nginx
  rules:
  - http:
      paths:
      - path: /dashboard
        pathType: Prefix
        backend:
          service:
            name: kubernetes-dashboard
            port:
              number: 443

执行步骤

  • 更新Ingress资源:
    kubectl apply -f <你的Ingress文件名>.yaml -n kubernetes-dashboard
    
  • 验证Ingress状态:
    kubectl get ingress root-ingress -n kubernetes-dashboard
    
  • 重新测试访问:
    curl -k -v https://localhost/dashboard
    

补充排查点

如果修改后问题仍存在,可检查:

  • Ingress Controller Pod运行状态:kubectl get pods -n ingress-nginx
  • Dashboard的Service和Pod状态:kubectl get svc,pods -n kubernetes-dashboard

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 11:20:56