配置自定义错误文档
将存储桶配置为静态网站后,当出现错误时,Amazon S3 返回 HTML 错误文档。您可以选择使用自定义错误文档配置存储桶,以便在发生错误时 Amazon S3 返回该文档。
注意
当出现错误时,某些浏览器将显示自己的错误消息,而忽略 Amazon S3 返回的错误文档。例如,当出现 HTTP 404 Not Found (HTTP 404 未找到)
错误时,Google Chrome 可能忽略 Amazon S3 返回的错误文档并显示自己的错误。
Amazon S3 HTTP 响应代码
下表列出了出现错误时 Amazon S3 返回的 HTTP 响应代码的子集。
HTTP 错误代码 | 描述 |
---|---|
301 永久移动 | 当用户将请求直接发送到 Amazon S3 网站端点(http://s3-website. )时,Amazon S3 将返回 301 Moved Permanently(301 永久移动)响应并将这些请求重定向到 https://aws.amazon.com/s3/ 。 |
302 Found (302 已找到) |
当 Amazon S3 接收对不包含尾部斜杠的键 |
304 Not Modified (304 未修改) |
Amazon S3 使用请求标头 |
400 Malformed Request |
当用户尝试通过错误的地区端点访问存储桶时,网站端点的响应包含 400 Malformed Request。 |
403 禁止访问 |
当用户请求转换为不可公开读取的对象时,网站端点的响应包含 403 禁止访问。对象所有者必须使用存储桶策略或 ACL 使该对象公开可读。 |
404 未找到 |
由于以下原因,网站端点的响应包含 404 Not Found:
您可以创建为 404 Not Found 返回的自定义文档。确保该文档已上传到配置为网站的存储桶,且网站托管配置已设置为使用该文档。 有关 Amazon S3 如何将 URL 当作对对象或索引文档的请求的信息,请参阅 配置索引文档。 |
500 Service Error |
当出现内部服务器错误时,网站端点的响应包含 500 Service Error。 |
503 服务不可用 |
当 Amazon S3 确定您需要降低请求率时,网站端点的响应包含 503 Service Unavailable(503 服务不可用)。 |
对于其中每个错误,Amazon S3 都返回一条预定义的 HTML 消息。以下是对 403 Forbidden 响应返回的 HTML 消息示例。
配置自定义错误文档
将存储桶配置为静态网站时,您可以提供包含用户友好错误消息和其他帮助的自定义错误文档。Amazon S3 将仅为 HTTP 4XX 类的错误代码返回您的自定义错误文档。
要使用 S3 控制台配置自定义错误文档,请执行以下步骤。您还可以使用 REST API、Amazon SDK、Amazon CLI 或 Amazon CloudFormation 配置错误文档。有关更多信息,请参阅下列内容:
-
《Amazon Simple Storage Service API 参考》中的 PutBucketWebsite
-
《Amazon CloudFormation 用户指南》中的 AWS::S3::Bucket WebsiteConfiguration
-
《Amazon CLI 命令参考》中的 put-bucket-website
当您为存储桶启用静态网站托管时,请输入错误文档的名称(例如,404.html
)。为存储桶启用静态网站托管后,您可以将具有此错误文档名称的 HTML 文件上传到存储桶。
要配置错误文档
-
创建错误文档,例如
404.html
。 -
将错误文档文件保存在本地。
错误文档名称区分大小写,必须与启用静态网站托管时输入的名称完全匹配。例如,如果在静态网站托管对话框中为错误文档名称输入
404.html
,则错误文档文件名也必须是404.html
。 登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/
。 在存储桶 列表中,选择要用于托管静态网站的存储桶的名称。
-
为您的存储桶启用静态网站托管,并输入错误文档的确切名称(例如
404.html
)。有关更多信息,请参阅启用网站托管 和配置自定义错误文档。启用静态网站托管后,继续执行步骤 6。
-
要将错误文档上传到存储桶,请执行以下操作之一:
将错误文档文件拖放到控制台存储桶列表中。
选择上传,然后按照提示选择并上传索引文件。
如需分步指导,请参阅 上传对象。