在网关中配置后禁用微服务初始暴露端口

Disable Microservice initial exposed port after configuring it in a gateway

您好,我一直在到处搜索,但没有找到解决我的问题的方法,即如何仅通过网关配置的端点访问我的 API,目前我可以访问我的 [=15] =] 使用 localhost:9000 和 localhost:8000 这是我保护和配置的 Kong 网关端口,但是如果初始端口仍然可以访问,使用这个网关有什么意义。 因此我想知道是否有一种方法可以禁用 9000 端口并且只能使用 KONG 访问我的 API。

防火墙/安全组(在云中)、私有(虚拟)网络和多个网络适配器通常用于区分 public 与私有网络访问。云供应商(AWS、Azure 等)和托管基础设施通常内置此类机制,例如Kubernetes、Cloud Foundry 等

在生产环境中,Kong 的外部端点将 运行 具有 public 网络访问权限和专用网络中的所有服务端点。

您目前 运行 将所有内容都本地化到一个 machine/network 上,因此您最好的选择可能是使用 firewall 来限制端口访问。

此外,可以为多个 Kong 节点配置单独的角色 - 一个(或多个)可以是 "control plane" 只有您可以访问的节点,用于设置和查看 Kong 的配置,访问指标等

一个(或多个)其他 Kong 节点可以是 "data plane" 接受和路由 API 代理流量的节点 - 但不接受任何 Kong Admin API 命令。有关详细信息,请参阅 https://konghq.com/blog/separating-data-control-planes/

感谢他们给出不同观点的答案,但由于我有一个 scalla/play 微服务,我在我的 application.conf 中添加了一个特殊的 Playframework built-in http filter 然后只允许 Kong 网关,现在当我试图通过 localhost:9000 访问我的应用程序时,我被拒绝了,而这正是我想要的。

希望这个回答对以后遇到同样情况的人有所帮助。