Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 给定AWS无服务器端点的别名/多租户_Amazon Web Services_Networking_Aws Api Gateway_Serverless Framework - Fatal编程技术网

Amazon web services 给定AWS无服务器端点的别名/多租户

Amazon web services 给定AWS无服务器端点的别名/多租户,amazon-web-services,networking,aws-api-gateway,serverless-framework,Amazon Web Services,Networking,Aws Api Gateway,Serverless Framework,我目前正在使用API网关为使用无服务器框架的无服务器端点提供服务,并希望为给定端点提供多个租户 部署按预期工作,我的别名tenant0.domain.xyz正在工作,并且在调用它时得到了响应 现在,我想为相同的部署找到其他租户,例如tenant1.domain.xyz、tenant2.domain.xyz等等 当我在Route53中添加新别名时,如下所示: tenant2.domain.xyz. AAAA ALIAS d-ea4i6xxxxx.execute-api.us-east-1.amaz

我目前正在使用API网关为使用无服务器框架的无服务器端点提供服务,并希望为给定端点提供多个租户

部署按预期工作,我的别名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网关返回:{消息:禁止}%


有没有办法修复此响应?

从2019年10月起,您可以向API网关添加通配符自定义域

然后,您可以添加*.domain.xyz,因为端点的自定义域需要来自AWS certificate Manager的证书,该证书对于*.domain.xyz也是活动的


这允许您动态地向租户发布子域,而不再需要对DNS进行任何修改。您可以使用参数event.requestContext.domainPrefix lambda作为示例,将租户路由到其服务,或/为每个租户执行自定义逻辑

我们使用CloudFront进行此操作。。。多个CloudFront发行版,每个客户机一个,每个客户机的源服务器具有相同的API网关。只需为CloudFront发行版配置自定义域。非常感谢。听起来很不错,所以您建议在CloudFront分发级别定义最终端点,并只保留一个API网关自定义域?不。不应该有API网关自定义域,而只对所有自定义域使用CloudFront。但是它能防止{message:probled}然后允许更多的源吗?这将是我的非标准解决方案的一个很好的替代方案。它将允许您轻松地为API网关配置多个自定义域。。。试试看!