【问题标题】:How to connect two applications and hit the API of the first application1 from application2如何连接两个应用程序并从应用程序2中访问第一个应用程序1的API
【发布时间】:2022-01-21 11:30:59
【问题描述】:

如何将两个应用程序与以下场景连接起来?

应用程序1: 我们的基础设施是在 AWS 上使用 python-djangoreact 创建的,它是一个私有 VPC,我只能通过 SSH 访问 EC2 堡垒实例(只要能够写入代码)以及后端的部署方式创建后端 URL api.mywebsite.com(具有多个端点)是通过 cloudfrontRoute53。 (www.mywebsite.com 是通过s3 构建的,可以与后端api.mywebsite.com 对话)。

应用程序2: (这是一个客户端基础设施) 目前我还没有遇到客户知道他们的系统是由什么组成的,但无论如何我需要找到一种方法在这个系统上编写一些代码,当触发特定事件以将数据发送到 的 API 端点应用程序1.

实现这种逻辑或 API 以连接 Application1Application2 的最佳方式是什么?

(特别是考虑到 Application1 基础设施是私有 VPC)

这与有人使用STRIPE 之类的 API 的方式几乎相同...我猜,但我不确定如何实现这样的结果...

提前谢谢你

【问题讨论】:

  • 你的意思是 api.mywebsite.com 指向 Application1 吗?
  • @WaketZheng 我的意思是我想将 Application1 API 端点暴露给 Application2。 Application2 将能够从 Application1 访问端点
  • 如果Application2的服务器可以通过IP访问Application1的服务器,可以使用Nginx来实现。

标签: python reactjs python-3.x django amazon-web-services


【解决方案1】:

如果理解正确,App1 归您所有,App2 归第 3 方所有。

我将以可扩展的方式解决的方法是在 aws lambda 上部署一个服务,该服务可以从 App2(或您将来决定的任何其他应用程序)获取请求,我将赋予此服务角色以便连接与 App1 并在那里有所有的逻辑。

您将获得的是您的应用程序是安全的(您不会将其暴露给第三个应用程序之外),该解决方案是可扩展的(如果您想连接其他应用程序,您无需执行任何操作)

【讨论】:

  • 有趣,这确实是目标,因为将来可能会有另一个客户需要该服务。您上面提到的IAM服务角色是在App1的VPC内部的服务之间,但是您将如何从App2(在App1的AWS VPC之外)使用App1的逻辑?
  • 你没有,你持有服务内部的逻辑,你向 APP2 公开端点,你通过关闭除 APP2 IP 之外的所有传入 IP 并向请求添加代码来确保它的安全。 App2 甚至不应该知道 APP1 甚至存在
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多