【发布时间】:2022-01-23 16:33:08
【问题描述】:
我是 AWS 新手,我只是使用 AWS cognito、AWS Cloudfront 和/或 AWS API Gateway 等工具探索可能的架构。
目前,我的应用部署在 EC2 实例中,大纲如下:
前端:在端口 80 上运行的 React 应用程序。当用户转到 https://myapp.com 时,请求被定向到 my-ec2-instance:80。
后端:Nodejs + Express运行在3000端口。用户在浏览器中加载前端后,与网站交互时,发送http请求到https://myapp.com/api/*,路由到my-ec2-instance:3000 ;
我使用 nginx/openresty 作为我的 webapp 的单一入口点,它使用 AWS Cognito 进行授权,然后根据路径反向代理请求:
现在,我不想使用 nginx/openresty 服务来管理 EC2 实例,而是想使用无服务器。
我计划将我的域 myapp.com 指向 AWS CloudFront,然后 Cloudfront 作为单一入口点来替换 Nginx/Openresty 的功能。它应该执行以下操作:
-
使用 AWS Cognito 进行授权:
当用户首次访问myapp.com时,他会从 AWS Cloudfront 定向到 AWS Cognito 以完成登录步骤。 -
基于路径的反向代理:我知道这是可以做到的。我可以从 CloudFront 配置页面进行配置。
但是对于 1,Cloudfront 可以使用 AWS Cognito 进行授权吗?这是使用 AWS Cloudfront 的正确方式吗?
阅读 AWS 文档并尝试使用 Cloudfront 配置后,我开始认为 Cloudfront 根本不适合这样的用例。
有什么建议吗?
【问题讨论】:
标签: amazon-web-services oauth-2.0 amazon-cognito openid-connect amazon-cloudfront