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

Kubernetes集群ingress-nginx访问报错:客户端向HTTPS服务器发送HTTP请求

问题根因与解决步骤

你遇到的Client sent an HTTP request to an HTTPS server错误,核心原因是HTTP请求被转发到了仅支持HTTPS的服务端口,结合你的部署配置,按以下步骤排查修复即可:

1. 修改前端负载均衡转发规则

你的ingress-nginx-controller为NodePort类型,从资源输出可以看到端口映射关系:

  • HTTP服务对应NodePort:32666
  • HTTPS服务对应NodePort:31657

你当前集群外的负载均衡配置错误,将80端口的HTTP请求转发到了集群节点的31657(HTTPS端口),才会触发该报错。需要调整负载均衡转发规则:

  • 负载均衡80端口 → 转发到所有集群节点的32666端口(ingress HTTP服务端口)
  • 后续配置HTTPS时,再将负载均衡443端口 → 转发到所有集群节点的31657端口(ingress HTTPS服务端口)

2. 验证ingress侧配置有效性

修改负载均衡配置前,可以先跳过负载均衡,直接测试集群内ingress HTTP服务是否正常,确认后端配置无问题:

curl -v -H "Host: web.app" http://<任意集群节点IP>:32666

如果该请求能正常返回web-app的响应内容,说明你的Deployment、Service、Ingress配置都没有问题,仅需要调整负载均衡规则即可。

额外说明

你当前的Ingress配置中已经添加了nginx.ingress.kubernetes.io/ssl-redirect: "false"注解,已经关闭了HTTP自动跳转HTTPS的逻辑,不需要额外调整ingress相关配置。后续需要配置SSL认证时,仅需要给Ingress资源补充tls字段关联证书,再调整ssl-redirect注解为true即可。


内容的提问来源于stack exchange,提问作者andreas.teich

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 14:24:03