AWS 静态网站托管初学者指南(第 2 部分):设置域名

2025-06-05

AWS 静态网站托管初学者指南(第 2 部分):设置域名

注册域名 - 静态网站托管(第二部分)

这是面向初学者的静态网站托管的第二部分。在第一部分中,我们使用 AWS 生成的 URL 搭建了一个基本网站。在本部分中,我们将用我们自己的域名替换该 URL。

如果您还没有查看第 1 部分,请查看它。

要在 AWS 上托管您的静态网站,首先需要做的就是为其注册一个域名。注册域名有多种方式。“注册”域名基本上意味着在指定时间段内声明对该域名的所有权。

我们使用的存储桶名称必须与我们将要托管的网站名称一致。例如,要在 Amazon S3 上托管您的 example.com 网站,您需要创建一个名为 example.com 的存储桶。要托管www.example.com下的网站,您需要将存储桶命名为www.example.com

  • 在 AWS 控制台中,下拉“服务”表并导航到路由 53

“”


  • 如果您还没有域名,可以直接从这里购买

  • 输入您选择的域名并选择 TLD(顶级域名),例如 .com

  • 检查域名的可用性

  • 不同的 TLD 有不同的相关成本,例如 .com 与 .ninja

“”


  • 找到您喜欢的可用域名后,将其添加到您的 Route 53 购物车并点击“继续”

  • 按照接下来的几个步骤完成域名购买。

“”


  • 它现在应该列在你的路由 53 控制台列表中

替代方案:从第三方域名提供商导入

如果您像我一样从 freenom.com 或任何其他第三方域名提供商获得域名,请执行以下操作:


  • 转到 Route 53 并选择“创建新的托管区域”

  • 在表单字段中,输入您拥有的域名,例如“yourDomain.com”

  • 将“类型”保留为公开并创建


  • 打开新的托管区域并复制您的名称服务器值


  • 将您的名称服务器值粘贴到域提供商的自定义名称服务器设置中,以便 DNS 解析可以在 AWS 托管区域中传递


创建通配符证书

我们现在需要设置 SSL 证书,以确保我们的域名安全且经过验证


  • 在 AWS 控制台中搜索“ACM”,它代表:AWS 证书管理器。您的所有 SSL 证书都将在这里维护。

  • 点击“申请证书”

  • 在后续页面上选择“申请公共证书”


  • 在域名文本框中,我们将输入一个通配符域名。输入您新购买的域名,并

    *.

    在前面添加,例如 *.silver-stack-solutions.com

  • 通配符会为您处理子域名。这意味着

    www.

    将作为我们域名通配符的一部分进行处理

  • 提示:使用“添加其他域名”按钮,您可以将多个域名地址添加到单个 ACM 中保护。通配符仅保护您的域名及其前面的任何前缀。它们实际上并不保护裸域名,例如 silver-stack-solutions.com 不受保护,但www.silver-stack-solutions.com受保护。我们将在本系列教程的后续部分更深入地讨论这个概念,特别是在处理重定向时。



  • 点击“下一步”

  • 现在您将进入一个显示两个选项的页面。勾选“DNS验证”


  • 继续并点击“审核”

  • 在最后一个设置页面上,浏览您的详细信息后单击“确认并请求”



  • 现在,您的 ACM 控制台中应该已经列出了等待验证的通配符域名

验证域名证书的所有权


  • 从您的 ACM 控制台中选择您的证书,然后单击下拉箭头展开它

  • 您应该会看到一个蓝色的大按钮,上面写着“在 Route 53 中创建记录”,单击它

    • 每条记录都包含您希望如何为某个域名(例如 example.com)或子域名(例如www.example.com或 test.example.com)路由流量的信息。记录存储在您域名的托管区域中。


  • 将打开一个模式,显示用于域验证的 DNS 记录的详细信息

  • 只需点击“创建”


  • 耐心等待,这可能需要一点时间

  • 完成后,您应该会收到一个已为您的域名签发的 ACM。它应该在您的 ACM 控制台中显示为状态:“已签发”。

  • 重复该过程第二次并发出第二个 ACM,但这次不要将其设为通配符,只需使用裸域名即 yourDomain.com(或者如果您已经通过将另一个域名添加到现有证书中来做到这一点,请跳过此步骤)


  • 拥有通配符 ACM 证书对于我们在 CloudFront 分发中的下一步至关重要

创建 CloudFront 分配

这将实现两个目标:让您的网站在世界任何地方都能快速加载,并允许您使用 HTTPS(HTTP 的安全版本)。就像 S3 被组织成“存储桶”一样,CloudFront 也被组织成“分发版”。您需要为您的网站创建一个分发版,并将其指向您的 S3 存储桶,以便它可以使用 S3 存储桶中的内容。


  • 导航到 CloudFront


  • 单击“创建分发”按钮开始,并选择您想要的 Web 分发,而不是 RTMP。


  • 您现在应该看到一个包含多个配置选项的长表单。

  • 选择“原始域名”下拉菜单。

  • 您应该会看到您的 S3 存储桶列表。请勿选择以下任何一项


  • 相反,您需要复制 S3 存储桶的端点,该端点位于静态 Web 托管下的 S3 属性选项卡中

  • 在属性的“静态网站托管”部分中找到端点 URL,并将其粘贴到“源默认名称”字段中。删除端点前面的“http://”。源 ID 文本字段将自动生成您的 S3 存储桶名称。

  • 在“查看器协议策略”选项中,勾选“将 HTTP 重定向到 HTTPS”


  • 我们需要填写的下一个字段是“备用域名(CNAME)”

  • 在 CNAME 字段中输入您的域名,例如“ www.ashwinkhanna.tk

  • 这应该与您的存储桶名称相匹配

  • 在 CNAME 下方,我们需要将其与适当的 ACM 证书链接起来,勾选“自定义 SSL 证书”选项

  • 系统会列出您所有 ACM 证书的下拉列表,请选择相应的证书。如果您的 CNAME 包含www,则应选择我们在上一节中生成的通配符 ACM。

  • 在下拉文本字段中,选择您新创建的公共通配符证书


  • 进一步向下滚动表单并找到“默认根对象”字段并输入“index.html”

  • 点击“创建分发”


  • 返回 CloudFront 控制台。您现在应该可以看到分发状态为“正在进行”。部署过程可能需要 5 到 20 分钟,请耐心等待。


  • 一旦进度完成,分发状态应为“已启用


将域指向 CloudFront


  • 导航回 Route 53 并选择托管区域

  • 我们需要添加一个新的记录集来指向 CloudFront
  • 点击“创建记录集”


  • 在“名称”文本字段中设置带有前缀 www 的域名

  • 在“类型”下拉字段中选择“A-iPv4 地址”

  • 下面有一个“别名”字段,其中有两个选项

    • 选择“是”
    • 这将导致出现“别名目标”字段
  • 在这里我们需要粘贴 cloudfront 域名,它以 .net 结尾

    • 要查找 CloudFront 域名,请前往 CloudFront 控制台,点击您新列出的发行版,然后进入详情页面。从此处复制您的域名字段,并将其粘贴到“别名目标”中。

  • “创造”新纪录


  • 这可能需要一些时间来创建,因为 DNS 使用一种称为缓存的技术来避免系统过载

  • 在您的网络浏览器中输入您的域名

  • 它应该会打开你的网站,URL 开头是“https://”

  • 请注意,该 URL 现在是我们的域,而不是 AWS 为我们生成的旧域

结论


希望本教程对读者有所帮助,并扩展我第一篇教程的内容。未来我计划添加关于文件传输协议的教程,以便使用 AWS CLI 和 Cloudfront 缓存失效机制将文件上传到 S3。


文章来源:https://dev.to/exampro/aws-static-website-hosting-for-beginners-part-2-setting-up-a-domain-4jif
PREV
DynamoDB 备忘单 – 2020 年 AWS Certified Developer Associate 认证所需了解的关于 Dynamo DB 的一切
NEXT
AWS 中的所有云