我遇到了 Kong 的问题,我创建了我的服务和路线,与 Kong 文档的 5 分钟快速入门完全相同,但我只更改了一些参数,以使用我自己在 localhost:3000 上工作的 api 设置服务。
所以这是我的设置:
这就是我为创建我的服务所做的事情。
我使用参数创建了我的服务:
{
"name": "users",
"url": "http://localhost:3000",
"host": "127.0.0.1"
}
Run Code Online (Sandbox Code Playgroud)
然后我用 body 创建了路线:
{
"hosts": [ "127.0.0.1"],
"methods": ["GET"],
"paths": ["/"],
"name": "users"
}
Run Code Online (Sandbox Code Playgroud)
然后我尝试是否一切都与http://localhost:8080/users一起使用,标题为:“Host:127.0.0.1”
我得到了回复:
502 Bad Gateway:从上游服务器收到无效响应
2019/03/04 09:28:36 [错误] 36#0: *63824 connect() 在连接到上游时失败(111:连接被拒绝),客户端:172.18.0.1,服务器:kong,请求:“GET /users HTTP/1.1”,上游:“ http://127.0.0.1:3000/users ”,主机:“127.0.0.1”
因此我们可以看到 Kong 尝试访问良好端点 '127.0.0.1:3000/' 但无法访问它。
也许 Kong 尝试访问的是自己的容器本地主机,但我不知道,而且我不知道如何修复它,也许你可以帮助我!
您确实已将 Kong 配置为访问其自己的容器。为了访问在您的实际计算机(我假设是 Windows 或 macOS)上运行的服务,您可以将该服务指向http://host.docker.internal:3000。此外,我会忽略这些host属性,直到您正确连接,然后再次添加限制。
另请参阅这个问题:Windows 上的 Dockererized Kong 给出“从上游服务器收到无效响应”
Kong 在容器中运行就像它有自己的小虚拟机(别打我,我知道这不太正确,但从网络角度来看,这是可行的),而localhost对 Kong 来说就是容器。容器的主机对于 Kong 来说是一个单独的主机。
| 归档时间: |
|
| 查看次数: |
7042 次 |
| 最近记录: |