我目前正在使用API Gateway(使用无服务器框架)为我的无服务器端点提供服务,并且希望给定端点具有多个租户。
部署工作正常,别名tenant0.domain.xyz
正常工作,调用时得到响应。
现在,我想为同一部署获取其他租户,例如tenant1.domain.xyz
,tenant2.domain.xyz
等。
当我在Route53中添加新的别名时,如下所示:
tenant2.domain.xyz.
AAAA
ALIAS d-ea4i6xxxxx.execute-api.us-east-1.amazonaws.com. (z1ujrxoxxxxx)
我已经完成了从tenant2.domain.xyz
到d-ea4i6xxxxx.execute-api.us-east-1.amazonaws.com
的映射,但是API Gateway返回了:{"message":"Forbidden"}%
有什么办法可以解决此问题?
答案 0 :(得分:1)
从2019年10月开始,您可以将通配符自定义域添加到API Gateway!
然后,您可以将*.domain.xyz
添加为端点的自定义域(也需要来自*.domain.xyz
处于活动状态的AWS Certificate Manager(ACM)的证书)。
这使您可以动态地向租户发布子域,而无需对DNS进行任何修改。您可以使用参数event.requestContext.domainPrefix
lambda作为示例,将租户路由到他们的服务/或/为每个租户执行自定义逻辑。