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

Kubernetes配置NGINX Ingress Controller访问指定URL返回404问题求助

问题根因

你的请求没有转发到K8s的NGINX Ingress Controller,本地运行的IIS服务占用了80端口,优先响应了ticketing.com的请求,所以返回IIS的404页面。

解决方案步骤

1. 释放80端口,停止IIS服务

  • 按下Win+R组合键,输入services.msc打开系统服务管理器
  • 找到World Wide Web Publishing Service服务,右键点击「停止」
  • 将该服务的启动类型修改为「手动」,避免开机自动启动占用端口
  • 执行以下命令确认80端口无其他进程占用:
netstat -ano | findstr :80

如果输出为空,说明80端口已释放。

2. 验证请求连通性

直接访问http://ticketing.com/api/users/currentuser,此时请求会被Ingress Nginx接收并转发到后端auth服务,正常会返回Hi there。

可选:问题复现排查步骤

如果执行上述操作后仍有问题,按以下步骤定位:

  1. 验证后端服务本身可正常访问,在集群内启动临时测试Pod:
kubectl run -it --rm debug --image=busybox -- sh
# 进入Pod后执行
wget -qO- http://auth-srv:3000/api/users/currentuser

如果返回Hi there,说明业务服务和ClusterIP服务配置正常,问题出在流量入口层。
2. 查看Ingress Nginx控制器日志,排查转发错误:

kubectl logs -n ingress-nginx ingress-nginx-controller-5c8d66c76d-89zhp

HTTPS 502问题说明

你当前未配置Ingress的TLS证书和HTTPS规则,直接发起HTTPS请求会因为Ingress没有对应SSL配置返回502错误,如需使用HTTPS访问,需要先生成自签证书,在Ingress配置中补充tls字段绑定域名和证书即可。

不想停止IIS的替代方案

修改Ingress Nginx的Service配置,将80端口映射到本地8080端口、443映射到8443端口,避免和IIS抢占端口,访问时使用http://ticketing.com:8080/api/users/currentuser即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 09:45:08