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

添加SSL证书后URL访问API报404错误,IP访问正常

问题

使用Cert Manager为Kubernetes集群配置SSL证书后,通过域名URL访问API时出现404错误,但直接访问集群IP时一切正常,使用的是Nginx Ingress Controller。

Ingress-Nginx-Controller Pod日志

IP访问日志(正常):

[08/Feb/2024:14:50:38 +0000] "GET / HTTP/1.1" 200 25 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36" 474 0.003 [btcapi-btcapi-service-80] [] 10.244.0.66:80 25 0.004 200 b8ad8a9e72f22a3cf7a72b602f5226c8

URL访问日志(404错误):

[08/Feb/2024:14:50:36 +0000] "GET / HTTP/1.1" 404 548 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 (scanner.ducks.party)" 212 0.000 [upstream-default-backend] [] 127.0.0.1:8181 548 0.001 404 681ce509b41db827657e2e45bda810fd

备注:若需要更多信息,请告知,目前不清楚还需提供哪些内容。

排查建议

  • 核对Ingress资源的spec.rules.host配置:确认该字段与你的访问域名完全一致,且http.paths指向了日志中正常的后端Service(btcapi-btcapi-service-80)。
  • 检查Ingress的SSL证书关联:确认spec.tls段中hosts包含目标域名,secretName指向Cert Manager生成的有效证书Secret,可通过kubectl get secret <secret名称>验证证书状态。
  • 验证DNS解析:确认域名已正确解析到Nginx Ingress Controller的外部IP,避免解析错误导致请求未匹配到对应Ingress规则。
  • 查看Ingress的运行状态:执行kubectl describe ingress <Ingress名称>,检查Events栏是否有配置加载失败的异常信息。
  • 确认请求Host头:URL访问时,客户端发送的Host头必须匹配Ingress规则中的host字段,否则请求会被转发到默认后端(日志中的upstream-default-backend就是默认后端,这是404的直接原因)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 09:09:54