我可以从不同的 S3 存储桶提供静态网站的一部分吗?

Posted

技术标签:

【中文标题】我可以从不同的 S3 存储桶提供静态网站的一部分吗?【英文标题】:Can I serve part of a static website from a different S3 bucket? 【发布时间】:2016-12-22 18:39:46 【问题描述】:

我已按照 AWS 文档设置了一个简单的静态网站:

S3 存储桶mydomain.com -> 包含网站文件 Cloudfront 分发 -> 配置为使用 https 服务 mydomain.com(将 http 重定向到 https) S3 存储桶www.mydomain.com -> 重定向到mydomain.com

现在,我有第二个静态站点,它独立于主站点。但是我想在mydomain.com/myproject/ 下托管它。

目前我只是将myproject 的文件复制到/myproject/ 文件夹中的同一个存储桶中,但我想知道为myproject 设置一个单独的存储桶并将URL 重定向到该存储桶是否可行.

可以这样做吗?如果可以,怎么做?

【问题讨论】:

【参考方案1】:

是的,这可以通过在您的 CloudFront 分配中设置两种行为来完成,一种是将 /* 映射到源 s3://mydomain.com,将 /myproject/* 映射到源 s3://myproject。

此外,您可以将这两个名称用作分发的备用 CNAME,并为它们使用 Route 53 ALIAS。

【讨论】:

谢谢。注意:我需要在分发中创建一个自定义源,它从 S3 存储桶的丑陋 URL 中提取内容。同样在存储桶中,内容仍然需要在子文件夹/myproject 下。或者至少我是这样工作的。

以上是关于我可以从不同的 S3 存储桶提供静态网站的一部分吗?的主要内容,如果未能解决你的问题,请参考以下文章

授予对 s3 存储桶的公共访问权限,而不是为 aws 无服务器应用程序提供静态网站

限制对云端分发背后的 s3 静态网站的访问

将 Amazon S3 存储桶和 Cloudfront 与 SSL Wordpress 站点一起使用不会提供静态文件

静态 S3 网站端点未通过 HTTPS 重定向

从静态网页上传 csv 文件到 S3 存储桶

有没有办法在 AWS S3 上托管一个静态网站而不提供公共访问权限?