我正在使用 Amazon Simple Storage Service(Amazon S3)桶托管静态网站。当我向存储桶发送请求时,看到的是对象的 XML 列表,而不是为网站设置的索引页列表。
简短描述
Amazon S3 桶同时具有网站端点和 REST API 端点。网站端点使用以下格式:
bucket-name.s3-website-us-west-2.amazonaws.com
REST API 端点使用以下格式:
bucket-name.s3-us-west-2.amazonaws.com
如果向桶发送 GET 请求,则您必须向网站端点发送请求才能使 Amazon S3 返回索引页(在 Amazon S3 控制台中称为“索引文档”)。如果您向 REST API 端点发送 GET 请求,Amazon S3 会返回桶中对象的列表。
如果您使用具有 Amazon S3 源的 Amazon CloudFront 分配,还必须将索引页面设置为默认根对象,以确保 Amazon S3 返回索引页面。
重要事项: 端点因 AWS 区域而异。有关各区域的网站端点,请参阅 Amazon S3 网站端点。有关各区域的 REST API 端点,请参阅 Amazon S3 端点。
解决方法
按照以下步骤查找桶的网站端点:
- 打开 Amazon S3 控制台。
- 从桶列表中,选择您用来托管静态网站的桶。
- 选择属性视图,然后选择静态网站托管。
网站端点是作为端点列出的值。
如果您使用具有 Amazon S3 源的 CloudFront 分配,请按照以下步骤将分配的默认根对象设置为索引页面:
- 打开 CloudFront 控制台。
- 从分配组列表中,选择与您的 S3 桶关联的分配。
- 从常规视图中,选择编辑。
- 在默认根对象中,输入您的索引页面的对象名称(例如,“index.html”)。
- 选择是,编辑。
相关信息
网站端点和 REST API 端点之间的主要区别