具有 S3 静态站点托管的 Cloudfront 响应 504 错误
Cloudfront with S3 static site hosting responds with 504 error
我已将 S3 + Cloudfront 设置为使用 Namecheap 提供的子域托管静态网站,但是当导航到 Cloudfront URL 或域 URL 时,AWS 响应 504: “无法满足请求”错误。
我完成的步骤是:
- 设置 S3 存储桶以拥有静态网站托管:启用托管类型设置为“存储桶托管”。桶是
Publicly accessible
.
- 设置 Cloudfront 分配,其原始域设置为
[bucket name].s3-website-ap-southeast-2.amazonaws.com
,已完成部署。
- 将
[subdomain].[domain].io
设置为 Cloudfront 分发中的备用域名。
- 从 AWS Certificate Manager 为我的自定义域分配了状态为“已颁发”的自定义 SSL 证书
[subdomain].[domain].io
- 在 NameCheap 中设置 CNAME,以便
[subdomain]
指向已传播的 [abc123].cloudfront.net.
(由 whatsmydns.net 确认)
我是 Cloudfront + S3 托管的新手,正在尝试提高技能,但不是一般的托管(我通常将 EC2 与 Apache 或 NGINX 一起使用)。
如何解决 504 错误?
这个错误504:“无法满足请求”通常意味着云端分发无法连接到配置的源。您是否可以在没有 CF 的情况下直接使用网站 URL 访问您的系统?
您是否在创建分发期间将 cloudfront 设置为唯一允许意外访问存储桶的对象?
https://aws.amazon.com/premiumsupport/knowledge-center/cloudfront-access-to-amazon-s3/
一切都让我相信即使您设置了网站托管功能,您的存储桶也无法访问。
问题原来是我用的[bucket name].s3-website-ap-southeast-2.amazonaws.com
和我用的教程一样需要特别注明。现在看来您应该改用 [bucket name].s3.ap-southeast-2.amazonaws.com
。
完成上述更新并部署分发后,一切都开始工作了。
我已将 S3 + Cloudfront 设置为使用 Namecheap 提供的子域托管静态网站,但是当导航到 Cloudfront URL 或域 URL 时,AWS 响应 504: “无法满足请求”错误。
我完成的步骤是:
- 设置 S3 存储桶以拥有静态网站托管:启用托管类型设置为“存储桶托管”。桶是
Publicly accessible
. - 设置 Cloudfront 分配,其原始域设置为
[bucket name].s3-website-ap-southeast-2.amazonaws.com
,已完成部署。 - 将
[subdomain].[domain].io
设置为 Cloudfront 分发中的备用域名。 - 从 AWS Certificate Manager 为我的自定义域分配了状态为“已颁发”的自定义 SSL 证书
[subdomain].[domain].io
- 在 NameCheap 中设置 CNAME,以便
[subdomain]
指向已传播的[abc123].cloudfront.net.
(由 whatsmydns.net 确认)
我是 Cloudfront + S3 托管的新手,正在尝试提高技能,但不是一般的托管(我通常将 EC2 与 Apache 或 NGINX 一起使用)。
如何解决 504 错误?
这个错误504:“无法满足请求”通常意味着云端分发无法连接到配置的源。您是否可以在没有 CF 的情况下直接使用网站 URL 访问您的系统?
您是否在创建分发期间将 cloudfront 设置为唯一允许意外访问存储桶的对象? https://aws.amazon.com/premiumsupport/knowledge-center/cloudfront-access-to-amazon-s3/
一切都让我相信即使您设置了网站托管功能,您的存储桶也无法访问。
问题原来是我用的[bucket name].s3-website-ap-southeast-2.amazonaws.com
和我用的教程一样需要特别注明。现在看来您应该改用 [bucket name].s3.ap-southeast-2.amazonaws.com
。
完成上述更新并部署分发后,一切都开始工作了。