将许多域指向云端子目录

Pointing many domains to cloudfront sub directory

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

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

这可能吗? 用 deployment/propagation/etc 很难测试...

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

这可以完成,但不能使用单个 CloudFront 分配 -- 单个 CloudFront 分配可以接受和处理对多个子域的请求,但除非 CloudFront 背后的原始 Web 服务器可以根据主机名(和这不适用于 S3 作为源服务器),基本假设是所有指向分发的域都会导致相同的行为。

每个域都需要一个 CloudFront 分配。没问题,因为每个帐户的 default limit of 200 分发可以根据要求增加......并且分发很容易在自动化中创建......而且你不需要为每个分发支付费用 - 只是带宽和请求,这将基本相同。

然后每个 CloudFront 分配都可以配置 default root object -- 这是在请求根 / 页面时从后端获取的页面。将其设置为 sometenant,对于此分发,根页面将从存储桶中请求为 GET /sometenant。任何其他 page/object 请求(图像、css 等)都会直接转发到存储桶。

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