gpt4 book ai didi

微服务内部通信

转载 作者:行者123 更新时间:2023-12-04 12:46:14 26 4
gpt4 key购买 nike

我正在向微服务架构师学习 API。这是关于设置的小描述

  • 我有两个微服务应用程序和 API 网关
  • 包括 API 网关在内的所有应用程序都是 nodeJs - express app。
  • 授权逻辑 - JWT,在 API 网关上处理
  • 使用 http-proxy 将每个传入的 API 网关请求传递到每个微服务应用程序。
  • 还将用户信息作为代理 header 传递。

客户端请求流程:
客户端使用 JWT token 从微服务 1 请求 API1,该 token 将在 API 网关进行身份验证,然后信息将从微服务 1 提供。这很好。
但是我有一个私有(private)的 API2,它不应该被客户端允许。只有内部应用程序可以使用它,但它应该可以根据客户端的另一个请求调用。

例如。

client request -> /API/Gateway1 (has JWT)
/API/Gateway1 -> API1 (has valid user)
API1 -> /API/Gateway2 (has valid user)
/API/Gateway2 -> API2 (has valid user)

问题:
我如何从客户端保护 API2,如果客户端伪造有效的用户 header 怎么办。

最佳答案

你想要做的是阻止 API2 接受外部流量,有很多方法可以做到这一点,例如:-

  1. 将与API1可能的IP地址对应的一组IP地址列入白名单
  2. 将所有 API 放在 VPN 中,只将 API1 公开给公共(public)流量
  3. 创建一些内部身份验证策略,例如让 API1 使用一些 key 签署对 API2 的请求。

关于微服务内部通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47330878/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com