Amazon web services 将多个域指向cloudfront子目录

Amazon web services 将多个域指向cloudfront子目录,amazon-web-services,amazon-cloudfront,Amazon Web Services,Amazon Cloudfront,我有一个单页应用程序,它托管在s3上,cloudfront指向它。该应用程序是多租户的,因此“租户”需要能够将其域指向子目录 示例:sometenant.com应指向app.domain.com/sometenant 这可能吗?很难用部署/传播等进行测试 还想知道我是否可以让pushstate继续工作,如果可能的话…这是可以做到的,但不能使用单个CloudFront发行版——单个CloudFront发行版可以接受和处理多个子域的请求,但除非CloudFront后面的源web服务器可以根据主机名改

我有一个单页应用程序,它托管在s3上,cloudfront指向它。该应用程序是多租户的,因此“租户”需要能够将其域指向子目录

示例:
sometenant.com
应指向
app.domain.com/sometenant

这可能吗?很难用部署/传播等进行测试


还想知道我是否可以让pushstate继续工作,如果可能的话…

这是可以做到的,但不能使用单个CloudFront发行版——单个CloudFront发行版可以接受和处理多个子域的请求,但除非CloudFront后面的源web服务器可以根据主机名改变响应(这不适用于S3作为源服务器),基本假设是所有指向分发的域都会导致相同的行为

每个域都需要一个CloudFront分发版。这不是问题,因为每个帐户的分发版可以根据请求增加……而且分发版可以很容易地在自动化中创建……而且您不需要为每个分发版支付费用——只需支付带宽和请求,这基本上是相同的

然后,每个CloudFront发行版都可以配置一个--这是请求根
/
页面时从后端获取的页面。将此设置为
sometenant
,对于此发行版,根页面将作为
GET/sometenant
从bucket请求。任何其他页面/对象请求(图像、css等)直接转发到bucket

每个租户站点都需要添加其域作为其分发的备用名称,然后您可以在DNS中将租户站点配置为指向分发分配的dxxxexample.cloudfront.net端点