【发布时间】:2020-11-08 11:26:11
【问题描述】:
在这里需要一些认真的帮助,提前非常感谢!
前几天我提出了一个类似的问题,但没有得到我想要的答案。所以重构了整个问题
我需要在 AWS 上部署一个可扩展的 3 层 Web 应用程序,我对设计架构的最佳实践有一些疑问/困难。
注意:据我了解,所有后端请求都是在前端服务器向用户提供 html/css/js 之后通过浏览器请求的。
这是我在网上找到的解决方案:
问题
- 它不会扼杀“所有对后端 api 的请求都是通过客户端的 Web 浏览器发出的(因为前端服务器向用户的浏览器提供 html/js 代码)”的所有逻辑吗?这意味着,请求应该来自浏览器 --> externalLoadbalancer --> 后端 API
- 考虑到这一点,这个路由将如何工作?因为,我们不能使用前端进行路由,可以吗?
IMO 正确的解决方案(但它不提供对来自外部世界的后端 API 的限制):
这绝对不会破坏任何逻辑/概念,但可以访问世界以访问后端 api,例如
我被这种设计困扰了好几天,我需要将网络应用程序投入生产。非常感谢您的帮助。
【问题讨论】:
-
应用服务器在运行什么?前端使用了哪些技术?这只是暴露了一个 api 网关,还是整个 web 应用程序?
-
前端:反应和后端:节点。后端公开 API 端点。我不希望客户端使用
/api 访问 -
"我们不能使用前端进行路由" ...如果您的前端是 apache 服务器,它可以。如果您的前端仅托管静态文件,请使用 Rodrigo M 提出的 AWS S3
标签: amazon-web-services rest architecture amazon-elastic-beanstalk devops