使用Kong网关访问refdata-svc返回404,请求故障排查帮助
Kong配置错误排查方案
1. 端口使用错误
Kong的8001是Admin API端口,仅用于管理Kong的配置(比如新增服务、路由),而代理转发请求需要使用Kong的业务代理端口(默认HTTP端口为8000,HTTPS为8443)。
你当前测试的http://localhost:8001/api/v1/refdata-svc是访问Admin API的路径,并非业务转发路径,因此返回Not found。正确的测试地址应为:
http://localhost:8000/api/v1/refdata-svc
2. Ubuntu Docker环境下的宿主机访问问题
你的Kong服务配置中host设置为host.docker.internal,但该域名是Docker Desktop for Windows/macOS的专属特性,在Ubuntu的Docker环境中默认无法解析,导致Kong容器无法访问宿主机上的refdata-svc服务。
解决方式二选一:
- 启动Kong容器时添加参数,手动映射域名:
docker run ... --add-host=host.docker.internal:host-gateway ... kong - 将服务配置中的
host直接替换为宿主机的实际IP(如192.168.x.x),若refdata-svc也在Docker中运行且与Kong同网络,可直接使用容器名称作为host。
3. 验证服务连通性(可选)
进入Kong容器内部,测试是否能正常访问refdata-svc:
# 进入Kong容器 docker exec -it <kong容器名称> /bin/sh # 测试服务连通性 curl http://host.docker.internal:9005/
若返回{"message":"Welcome to ref-data!"},说明服务连通正常;若无法访问,需排查Docker网络配置或宿主机防火墙规则。
内容的提问来源于stack exchange,提问作者Rajesh Kumar Jha
相关产品推荐
相关产品推荐

