Dim*_*man 12 java rest spring gateway microservices
也许这是一个奇怪的问题(我是微服务的新手).但我正在寻找有关如何继续这一点的一些信息.不需要特定于Spring,但这是我目前正在使用的框架.
示例:假设我们有两个微服务
a)http://myurlfortesting.com:8085/api/rest/serviceone
b)http://myurlfortesting.com:8090/api/rest/servicetwo
我们设置了Spring Zuul(充当API网关),其中包含以下转发来电的规则:
/ rest/one - > http://myurlfortesting.com:8085/api/rest/serviceone
/ rest/two - > http://myurlfortesting.com:8090/api/rest/servicetwo
问题是:有没有办法阻止用户直接访问A和B中提到的服务(只允许通过API网关提供的服务)?
可以通过设置一些额外的过滤器或者我们在微服务端点中设置它来使用Springs Zuul(充当API网关)吗?
甚至想知道是否有一种方法甚至不能处理不通过API网关的微服务端点上的直接调用.
也许这是通过服务器特定规则解决的,与Spring无关?
非常感谢,
/ d
通常,通过实现适当的OAuth服务器来处理这种情况,其中只有您的API网关会处理令牌验证。对微服务的任何直接调用都不会进行正确的令牌交换,因此请求将被中止。
如果您已经在任何云上部署了微服务,则可以通过仅向API网关公开路由来实现这一点。是的,防火墙阻止,IP白名单是限制对微服务的访问的其他一些方法。
假设您有防火墙,则可以将服务器的入站流量限制为Zuul终结点所暴露的端口,并禁止任何人直接访问微服务的端口。
如果要避免使用防火墙路由,则可以强制端点在转发请求之前检查特定的HTTP标头或Zuul设置的内容,但这很容易破解。根据我过去的经验,“正确”的方法是通过防火墙进行此操作。您的应用应负责处理请求。您的防火墙应负责确定哪些人可以攻击特定的端点。
| 归档时间: | 
 | 
| 查看次数: | 4295 次 | 
| 最近记录: |