如何注册域名并应用于自己的网站

2024-11-03

背景

个人博客前后端服务已经搭建完成,需要申请一个个性化域名并应用于该博客网站。所以研究了一下,最终成功完成,写文档记录下详细的步骤。

环境及参数

目前所有服务均使用AWS公有云服务

  • 前端服务:CloudFont + s3
  • 后端服务:EC2 + API gateway
  • 域名注册:Route 53

操作步骤

注册域名

  1. 登录 AWS 管理控制台
    进入 AWS 管理控制台 并登录到您的 AWS 账户。

  2. 打开 Route 53 服务
    在控制台主页中,找到或搜索 Route 53,点击进入该服务。

  3. 进入域名注册页面
    在左侧菜单中选择 Registered Domains(已注册域名),然后点击页面顶部的 Register Domain(注册域名)。

  4. 搜索域名
    在搜索栏中输入您想注册的域名,并点击 Check(检查)按钮,AWS 会显示该域名是否可用。

  5. 选择域名并添加至购物车
    如果域名可用,可以选择并点击 Add to Cart(添加到购物车)。Route 53 会显示该域名的价格。

  6. 选择注册时长
    选择您想注册的年限,一般为 1 年或更长。

  7. 填写联系人信息
    按要求填写注册域名所需的联系人信息,包括姓名、地址、电话等。此信息会用于 WHOIS 记录。

  8. 完成购买
    检查购物车内容无误后,点击 Continue(继续)并完成付款。AWS 会将费用从您的付款方式中扣除。

  9. 等待注册完成
    域名注册可能需要几分钟至数小时。完成后,您可以在 Route 53 的 Registered Domains 下看到该域名。

配置域名

步骤 1:获取 CloudFront 分发的域名

  1. 登录到 AWS 管理控制台。
  2. 打开 CloudFront 控制台。
  3. 找到并选择您要使用的 CloudFront 分发。
  4. 在分发的详细信息页面上,记下 Domain Name(例如,dxxxxxxxxxx.cloudfront.net)。

步骤 2:在 Route 53 中创建记录集

  1. 打开 Route 53 控制台。
  2. 选择您注册的域名。
  3. 点击 Create record(创建记录)。
  4. 选择记录类型为 A – IPv4 address 或 CNAME(具体取决于您的需求)。
    • A 记录:如果您希望将根域名(例如,example.com)指向 CloudFront,可以选择 A 记录 并使用 Alias 功能。
    • CNAME 记录:如果您希望将子域名(例如,www.example.com)指向 CloudFront,选择 CNAME 记录。
  5. 输入以下信息:
    • Record name(记录名称):例如,www(对于 www.example.com),或者留空以指向根域名。
    • Value:输入 CloudFront 分发的域名(例如,dxxxxxxxxxx.cloudfront.net)。
    • TTL(生存时间):可以使用默认值(例如,300秒)。
  6. 点击 Create records(创建记录)。

步骤 3:在 CloudFront 中添加自定义域名(可选)

如果您希望通过 CloudFront 使用 SSL(HTTPS)来访问您的自定义域名,请执行以下步骤:

  1. 返回到 CloudFront 控制台。
  2. 选择您的 CloudFront 分发,点击 Distribution Settings(分发设置)。
  3. 在 General(常规)选项卡中,找到 Alternate Domain Names (CNAMEs)。
  4. 添加您的自定义域名(例如,www.example.com)。
  5. 配置 SSL 证书:
  • 如果您已经在 AWS Certificate Manager (ACM) 中申请了证书,请在 SSL Certificate 部分选择 Custom SSL Certificate,并选择您的证书。
  • 如果没有,您需要在 AWS Certificate Manager 中申请一个 SSL 证书,然后返回此处进行配置。(请注意,cloudfont在配置证书默认选择us-east-1 region,所以在创建证书时必须在us-east-1 region进行创建)
  1. 点击 Yes, Edit(是的,编辑)以保存更改。

步骤 4:配置SSL证书(可选,和步骤3保持一致)

  1. 获取验证记录信息
    • 登录到 AWS 管理控制台:
      • 前往 AWS Management Console 并登录到您的 AWS 账户。
    • 打开 AWS Certificate Manager (ACM):
      • 在控制台中,搜索并选择 Certificate Manager。
    • 查找您的证书:
      • 在 ACM 控制台中,找到您申请的证书,状态应为“等待验证”。
    • 查看验证信息:
      • 点击您的证书,查看证书详细信息。
      • 在 Domain Validation 部分,您会看到一条 DNS 验证记录的信息,通常是类似以下格式的 CNAME 记录:
      • Name(记录名称):_abcdef1234567890.yourdomain.com
      • Value(记录值):_ghijklmnop1234567890.acm-validations.aws
  2. 在 Route 53 中创建 DNS 记录
    • 打开 Route 53 控制台:
      • 在 AWS 控制台中,搜索并选择 Route 53。
    • 选择您的托管区域:
      • 在 Route 53 控制台中,点击 Hosted zones(托管区域)。 -找到并选择您注册的域名的托管区域。
    • 创建新的 CNAME 记录:
      • 点击 Create record(创建记录)。
      • 在 Record name(记录名称)字段中输入您从 ACM 获得的 CNAME 记录名称(例如:_abcdef1234567890)。
      • 在 Record type(记录类型)选择 CNAME。
      • 在 Value(值)字段中输入您从 ACM 获得的 CNAME 记录值(例如:_ghijklmnop1234567890.acm-validations.aws)。
      • TTL(生存时间)可以使用默认值(通常为300秒)。
    • 点击创建:
      • 检查记录信息无误后,点击 Create records(创建记录)。
  3. 等待 DNS 传播
    • 添加 DNS 记录后,可能需要一些时间(从几分钟到几个小时)才能在全网生效。
    • 您可以使用命令行工具(如 nslookup 或 dig)检查 CNAME 记录是否已成功添加并生效。
  4. 确认验证状态
    • 返回到 ACM 控制台:
      • 再次打开 AWS Certificate Manager 控制台。
    • 查看证书状态:
      • 在证书列表中,检查您的证书状态。
      • 如果 DNS 记录已正确设置并生效,证书的状态应会更新为“已颁发”
    • 验证示例命令
      • 使用命令行工具(如命令提示符或终端)验证 DNS 记录的示例:
      • nslookup -type=CNAME _abcdef1234567890.yourdomain.com
      • 1dig CNAME _abcdef1234567890.yourdomain.com`
      • 这将返回您为 CNAME 记录设置的值,确认记录已成功添加。
    • 注意事项
      • 确保没有拼写错误,并且在 Route 53 中添加的 DNS 记录与 ACM 提供的完全一致。
      • DNS 记录的生效时间可能会受到 DNS

步骤 5:等待 DNS 传播

更改记录后,可能需要一些时间(通常是几分钟到几小时)来使更改生效。您可以使用 nslookup 或其他 DNS 工具来检查域名是否已正确解析到 CloudFront。

完成以上步骤后,应该能够通过自定义域名访问 CloudFront 分发的前端项目了。

注:补充一条容易遗漏的也是我遇到的问题,就是aws域名购买后需要邮箱验证,发送的验证邮件被gmail当做垃圾邮件扔到垃圾箱了,过了15天没有验证被aws把域名suspend了,这一点一定要注意。