如何设置只能由其他内部服务调用的微服务。微服务不应该公开访问,因为它可以访问具有秘密信息的数据库。我已经尝试使用弹簧安全保护微服务,但在这种情况下,我遇到了有关授权的FeignClient问题。
答案 0 :(得分:0)
这实际上是一个基础设施问题。通常,您希望在内部拥有包含所有资源的专用网络 - 所谓的De-Militarized-Zone或DMZ - 然后拥有提供外部访问的第二个网络或端点桥。不应该从互联网上访问内部网络。端点可以是单个服务器,也可以是作为bastion主机实现的服务器阵列,它将对呼叫者进行身份验证和授权,并将呼叫转发给合法的专用网络。
API网关(或边缘服务器)模式通常用于实现此目的。网关的良好配置很重要。
以下是如何使用亚马逊云的article。
这里有一个link到Kong,一个可以自己部署的通用API网关。
答案 1 :(得分:0)
假设您无法使用基础架构解决此问题 (这是解决这个问题的唯一正确方法), 你可以使用几种(坏)技术:
可能还有其他选择,但请使用基础设施。