在这篇博文中,我们将学习如何使用 Amazon CloudFront 和 Amazon S3 搭建一个安全的静态内容分发网络,并通过自定义域名 img.example.com 访问存储在 S3 中的图像资源。
准备工作:
- 一个 AWS 账户
- 一个已注册的域名
example.com - 一个已创建ssl证书
*.example.com
步骤 1: 创建 S3 存储桶
- 登录 AWS 管理控制台,进入 S3 服务页面。
- 创建一个新的存储桶,命名为
img-bucket。 - 将您的图像资源上传到
img-bucket存储桶中。 - 在存储桶的"权限"选项卡中,点击"存储桶策略"按钮,并添加以下策略:
请将 <your-account-id> 替换为您自己的 AWS 账户 ID。这个策略将只允许 CloudFront 服务访问 img-bucket 存储桶中的对象。
步骤 2: 创建 CloudFront Web 分发
- 在 AWS 管理控制台中,进入 CloudFront 服务页面。
- 点击"创建分发"按钮,选择"Web"分发类型。
- 在"源设置"步骤中,选择"S3 存储桶"作为源,并选择
img-bucket。 - 在"默认缓存行为设置"步骤中,根据您的需求进行配置。
- 在"分发设置"步骤中,选择"Web"作为分发方式,并输入自定义域名
img.example.com。 - 在"限制访问"步骤中,选择"使用签名 URL 或签名 Cookie"选项。
- 在"源访问控制"步骤中,选择"创建新的 OAC"选项,命名为
img-oac。 - 在"查看器协议策略"步骤中,选择"Redirect HTTP to HTTPS"选项。
- 在"备用域名(CNAME)"步骤中,输入
img.example.com。 - 在"自定义 SSL 证书"步骤中,选择"自定义 SSL 证书"选项,并上传您的
*.example.com证书。 - 完成其他配置,然后点击"创建分发"按钮。
步骤 3: 配置 Route 53
- 在 AWS 管理控制台中,进入 Route 53 服务页面。
- 选择托管区域
example.com。 - 点击"创建记录集"按钮,添加一个新的记录集。
- 设置记录名称为
img。 - 选择记录类型为
A - IPv4 地址。 - 在"值"字段中,输入 CloudFront 分发的域名,例如
d365i1v0qrxr6m.cloudfront.net。 - 点击"创建记录集"按钮。
步骤 4: 测试访问
- 等待 DNS 记录生效,这可能需要一些时间。
- 在浏览器中访问
https://img.example.com。如果一切配置正确,您应该能够看到存储在img-bucket中的图像资源。
通过这种架构,您的图像资源将通过 CloudFront 的全球边缘网络进行分发,从而提供更快的响应速度和更好的用户体验。同时,源访问控制策略确保了只有 CloudFront 可以访问您的 S3 存储桶,有效地保护了您的内容不被未经授权的访问。
值得注意的是,我们还配置了 HTTPS 协议和自定义 SSL 证书,以确保图像资源的传输过程中受到加密保护,提高了安全性。
总结一下,通过自定义域名访问 Amazon S3 中的图像资源包括以下主要步骤:
- 创建 S3 存储桶并上传图像资源。
- 配置存储桶策略,只允许 CloudFront 访问。
- 创建 CloudFront Web 分发,并配置源访问控制、自定义域名和 SSL 证书。
- 在 Route 53 中配置 DNS 记录,将自定义域名指向 CloudFront 分发。
- 通过自定义域名访问图像资源。
通过这种方式,您可以充分利用 AWS 的云服务,为您的静态内容提供安全、高性能和可扩展的分发服务。
872

被折叠的 条评论
为什么被折叠?



