Route 53 将不同的路径指向不同的 s3 存储桶

Route 53 point different paths to different s3 buckets

是否可以使用 Route 53 将 mydomain.com/app 之类的路径 url 指向与 mydomain.com 其余部分访问的不同的 s3 存储桶?

例如:

mydomain.com/* 会指向 normal-bucket

mydomain.com/app 会指向 app-bucket

是否有必要只使用像 app.mydomain.com 这样的子域?

路由规则是否可以做到这一点?

这是可能的,但通常不能使用 route53 或 DNS。

如果您使用的是 S3 静态网站托管,则可以改用重定向规则来执行 HTTP 重定向。有关该功能的更多信息,请参阅亚马逊文档:https://docs.aws.amazon.com/AmazonS3/latest/dev/HowDoIWebsiteConfiguration.html

这是重定向到 S3 上 my-other-bucket 的路由规则示例,其中包含规则的存储桶和 my-other-bucket 都使用静态网站托管。

<RoutingRules>
    <RoutingRule>
        <Condition>
            <KeyPrefixEquals>app</KeyPrefixEquals>
        </Condition>
        <Redirect>
            <HostName>my-other-bucket.s3-website-us-west-2.amazonaws.com</HostName>
        </Redirect>
    </RoutingRule>
</RoutingRules>

您可以创建一个 Amazon CloudFront 分配,然后为每个 Amazon S3 存储桶定义一个来源。然后您可以定义哪个路径应该使用哪个原点。

查看(令人困惑的)文档页面:Values that You Specify When You Create or Update a Web Distribution