0

我有一个使用 Spring MVC 构建的应用程序,后端是 REST API,也是使用 Spring MVC 框架构建的。

来自浏览器的请求首先到达 springMvc 应用程序,然后调用我的 REST API 获取数据。我不需要公开我的 API。所以我不打算使用任何 API 网关。

为了安全起见,我正在考虑将我的 REST 应用程序托管在私有子网中,并将 springMVC 应用程序托管在 VPC 的公共子网中。

我的问题是,如果一些开发人员想直接测试 API,AWS 中有哪些规定可以在开发环境中进行管理。

我正在使用 AWS cognito 进行身份验证,我只是要在 REST 应用程序中验证令牌以提高安全性。在网络级别,我计划使用 Netwrok ACL 将 REST 应用程序限制为只能由我的 springMVC 应用程序调用。基本上是一个公共子网和一个私有子网。

如果我的理解在这方面是正确的,请提供帮助,并且以后会导致任何设计问题。

如果在稍后的某个阶段,我计划将我的 API 公开给一个移动应用程序,我可能需要做一些返工。现在考虑未来并进行相应的设计是否值得考虑,如果我在 AWS 上可能不会花费太多时间。

4

1 回答 1

1

您可以使用 API Gateway 创建只能由您的 VPC 访问的私有 API。如果可能,您应该考虑使用此选项。当涉及到 API 时,有很多事情很难管理,例如限制、缓存和日志记录。使用 API Gateway,API 的大量脚手架和检测工作已经完成。您还可以将 Cognito 用户池连接到 API Gateway

这篇博文有一个很好的概述和一个例子。

于 2019-01-20T15:16:45.133 回答