无法使用 Curl 连接到 JHipster UAA 服务器
Can't connect to JHipster UAA server using Curl
我是 运行 一个 docker-compose'd 架构,带有注册表、网关 (8080)、uaa (9999) 和 2 个微服务(8081 和 8082),我可以看到通过下拉选择在网关应用程序中大摇大摆 API。我可以使用管理员和用户登录网关。我还修改了代码以接受所有者、代理和监控角色。我可以正常登录。
在终端中,我尝试了 Baeldung 的 curl 命令(博客发布)直接从 uaa 服务器获取令牌用于测试 APIs。
[~]$ curl -X POST --data "username=user&password=user&grant_type=password&scope=openid" http://localhost:9999/oauth/token
curl: (7) Failed to connect to localhost port 9999: Connection refused
我打开了Kitematic,uaa服务器在docker容器日志中是localhost(主机)和9999(端口)。
谁能帮我弄清楚为什么 Curl 对我不起作用?
谢谢,
大卫
这个问题几乎可以肯定与您正在部署的堆栈的网络属性有关。
如果您从主机向 http://localhost:9999 发出 curl 命令,则需要确保 UAA 服务器将其端口映射到主机。
你们的 UAA 服务在 docker-compose.yml
中有这个吗?
ports:
- "9999:9999"
如果没有,您需要添加它以便从主机对其进行测试。
默认情况下,docker-compose 将为您的堆栈创建一个桥接网络,您的容器可以在其中相互通信并根据容器名称相互解析。但是从主机上,您将无法寻址容器,除非您明确地将它们的暴露端口映射到主机上的端口。
我是 运行 一个 docker-compose'd 架构,带有注册表、网关 (8080)、uaa (9999) 和 2 个微服务(8081 和 8082),我可以看到通过下拉选择在网关应用程序中大摇大摆 API。我可以使用管理员和用户登录网关。我还修改了代码以接受所有者、代理和监控角色。我可以正常登录。
在终端中,我尝试了 Baeldung 的 curl 命令(博客发布)直接从 uaa 服务器获取令牌用于测试 APIs。
[~]$ curl -X POST --data "username=user&password=user&grant_type=password&scope=openid" http://localhost:9999/oauth/token
curl: (7) Failed to connect to localhost port 9999: Connection refused
我打开了Kitematic,uaa服务器在docker容器日志中是localhost(主机)和9999(端口)。
谁能帮我弄清楚为什么 Curl 对我不起作用?
谢谢,
大卫
这个问题几乎可以肯定与您正在部署的堆栈的网络属性有关。
如果您从主机向 http://localhost:9999 发出 curl 命令,则需要确保 UAA 服务器将其端口映射到主机。
你们的 UAA 服务在 docker-compose.yml
中有这个吗?
ports:
- "9999:9999"
如果没有,您需要添加它以便从主机对其进行测试。
默认情况下,docker-compose 将为您的堆栈创建一个桥接网络,您的容器可以在其中相互通信并根据容器名称相互解析。但是从主机上,您将无法寻址容器,除非您明确地将它们的暴露端口映射到主机上的端口。