WSO2 API管理器-向第三方公开服务

时间:2019-12-11 15:49:07

标签: wso2 api-gateway api-manager

我们有以下架构模式(分层DMZ): 1.面向外部的应用程序部署在3层DMZ中(用于Web服务器的DMZ1,用于应用程序服务器的DMZ2和用于数据库服务器的DMZ3) 2.我们不允许DMZ1直接与LAN对话,但是DMZ2,DMZ3可以与LAN对话

WSO2 API Manager将安装在LAN中,问题是我们如何将LAN API存储中的服务公开给外部世界。哪种设计模式最适合?我有几个选择

选项1: 在DMZ1中部署另一个API管理器实例,第三方可以访问 仅在第三方访问中在DMZ1 API Manager中部署服务集 在与局域网服务器通信的DMZ2中具有反向代理

选项2: 局域网中部署的API Manager的单个实例 DMZ1中的反向代理 DMZ2中的转发代理(目前尚无此代理) 将代理对话转发到局域网

我记得IBM拥有虚拟/物理Datapower设备,它充当外部API网关,我们如何使用WSO2实现类似的设计模式?

非常感谢

2 个答案:

答案 0 :(得分:0)

  

WSO2 API Manager将安装在LAN中,问题是我们如何将LAN API存储中的服务公开给外部世界

WSO2 API管理器具有组件API网关。实际上,今天有两种方法可以做到这一点

  1. 使用API​​网关

API Gatway是API管理器的实例,其参数指定该实例是网关,因此其他模块(密钥管理器,商店,发布者)被禁用或未使用

我们在DMZ中使用API​​网关。该实例将对主叫客户端进行身份验证和授权。但是,网关仍然需要调用KeyManager Web服务来进行令牌验证,发布者需要调用网关来进行API部署

(KeyManager和发布者是LAN中APIM中的服务)

  1. 使用API​​ Micro Gateway

需要被部署为单独的模块,并且即使没有与LAN实例的任何连接也能够验证客户端的令牌(jwt令牌)

注意:当不使用静态api密钥,而是使用OAuth身份验证时,则需要公开指向令牌的路由并撤消服务

资源:

答案 1 :(得分:0)

WSO2建议使用以下几种常见的部署模式来进行API管理器: https://docs.wso2.com/display/AM260/Deployment+Patterns#DeploymentPatterns-WSO2APIManagerdeploymentpatterns

您可以选择模式4或#5。模式#5将使您的总成本降低,包括许可费和基础设施费。