在 S3 Bucket 的子文件夹中托管 index.html
Posted
技术标签:
【中文标题】在 S3 Bucket 的子文件夹中托管 index.html【英文标题】:Host index.html in subfolders of S3 Bucket 【发布时间】:2015-09-08 00:22:57 【问题描述】:静态网站托管在根目录中工作,但这对我不起作用:
my.bucket/index.html
my.bucket/subfolder/index.html
https://s3-eu-west-1.amazonaws.com/my.bucket 按预期工作
https://s3-eu-west-1.amazonaws.com/my.bucket/subfolder 不起作用(拒绝访问)
这可能吗?
【问题讨论】:
s3-eu-west-1.amazonaws.com/my.bucket/subfolder/index.html 工作吗? my.bucket.s3-eu-west-1.amazonaws.com/subfolder/index.html 怎么样? s3-eu-west-1.amazonaws.com/my.bucket/subfolder/index.html 正确呈现页面 my.bucket.s3-eu-west-1.amazonaws.com/subfolder/index.html 被拒绝访问! 如果您想要网站托管功能,包括索引文档,您应该使用http://your.bucket.s3-website-eu-west-1.amazonaws.com/...
。
【参考方案1】:
有(至少)三种方式可以访问托管在 AWS 中的静态网站。
S3 存储桶名称 CDN 名称。 (这是“托管静态网站”向导告诉您使用的内容) S3 存储桶管理页面上列出的“静态网站托管端点”只有“静态网站托管端点”过滤传入请求以提供类似 Apache 的行为; S3 是一个 RESTful API,用于存储没有子文件夹概念的文件。
如果您使用过该向导,屏幕左下方的小文本中会显示“在 S3 中管理文件”,它将在控制台中为您打开正确的页面,然后单击“属性” ' 按钮。
【讨论】:
【参考方案2】:您还需要修改子文件夹的权限以使其可公开访问。
【讨论】:
已经这样做了(否则我将无法直接访问它?)以上是关于在 S3 Bucket 的子文件夹中托管 index.html的主要内容,如果未能解决你的问题,请参考以下文章
关于aws-s3-bucket-静态网站托管相关的查询-S3.Client.get_bucket_website(**kwargs)
使用 S3、CloudFront 和源路径的静态网站托管的子文件夹重定向问题
Terraform无法使用静态S3网站端点创建CloudFront的原点