首页 > 解决方案 > 如何使用 API Gateway (HTTP) 来处理复杂的 SaaS URL 请求?

问题描述

我一直在尝试构建和部署无服务器 (lambda) SaaS 应用程序,但对于如何将 URL 正确地通过管道传输到适当的 lambda 和 S3 存储桶中,我遇到了一些困惑。

我在想应用程序的结构如下。

超级管理员界面非常简单。我只需要从 S3 托管任何不匹配的内容/api*

租户管理界面变得很奇怪,因为我需要admin.*.mydomain.com我不完全确定该怎么做。我不会经常加入租户但我仍然不想手动修改 SSL 证书和相关域。

租户用户界面也有点令人困惑,因为据我所知,我现在无法在 API Gateway ( *.mydomain.com)中真正分配通配符域

我考虑过将我的 api 放在顶层api.mydomain.com,但我担心让一个 URL 托管太多东西,所以我决定/api这样做,这样我就不必担心 CORS。我知道我可以使用 API Gateway 将它们拆分为不同的 lambda,并将其保留为顶级,但如果我能提供帮助,我宁愿不要被迫使用它。(另一个影响是这也给了我一个放置公共 api 的好地方api.mydomain.com

现在,在任何基于服务器的解决方案中,我要做的就是设置一个带有一些花哨的正则表达式重定向的反向代理,我将参加比赛,但我不确定如何在 AWS 中实现这一点,而不需要建立一个 EC2 实例作为代理经理。

附带说明一下,我正在使用 API Gateway,因为它是为我创建的 .NET Core Serverless Lambda 模板。我的 AWS 之旅才刚刚 3 周左右,所以如果我完全错了,我会全力以赴。

标签: amazon-web-servicesaws-lambdaaws-api-gateway

解决方案


推荐阅读