背景
个人博客前后端服务已经搭建完成,需要申请一个个性化域名并应用于该博客网站。所以研究了一下,最终成功完成,写文档记录下详细的步骤。
环境及参数
目前所有服务均使用AWS公有云服务
- 前端服务:CloudFont + s3
- 后端服务:EC2 + API gateway
- 域名注册:Route 53
操作步骤
注册域名
-
登录 AWS 管理控制台
进入 AWS 管理控制台 并登录到您的 AWS 账户。 -
打开 Route 53 服务
在控制台主页中,找到或搜索 Route 53,点击进入该服务。 -
进入域名注册页面
在左侧菜单中选择 Registered Domains(已注册域名),然后点击页面顶部的 Register Domain(注册域名)。 -
搜索域名
在搜索栏中输入您想注册的域名,并点击 Check(检查)按钮,AWS 会显示该域名是否可用。 -
选择域名并添加至购物车
如果域名可用,可以选择并点击 Add to Cart(添加到购物车)。Route 53 会显示该域名的价格。 -
选择注册时长
选择您想注册的年限,一般为 1 年或更长。 -
填写联系人信息
按要求填写注册域名所需的联系人信息,包括姓名、地址、电话等。此信息会用于 WHOIS 记录。 -
完成购买
检查购物车内容无误后,点击 Continue(继续)并完成付款。AWS 会将费用从您的付款方式中扣除。 -
等待注册完成
域名注册可能需要几分钟至数小时。完成后,您可以在 Route 53 的 Registered Domains 下看到该域名。
配置域名
步骤 1:获取 CloudFront 分发的域名
- 登录到 AWS 管理控制台。
- 打开 CloudFront 控制台。
- 找到并选择您要使用的 CloudFront 分发。
- 在分发的详细信息页面上,记下 Domain Name(例如,dxxxxxxxxxx.cloudfront.net)。
步骤 2:在 Route 53 中创建记录集
- 打开 Route 53 控制台。
- 选择您注册的域名。
- 点击 Create record(创建记录)。
- 选择记录类型为 A – IPv4 address 或 CNAME(具体取决于您的需求)。
- A 记录:如果您希望将根域名(例如,example.com)指向 CloudFront,可以选择 A 记录 并使用 Alias 功能。
- CNAME 记录:如果您希望将子域名(例如,www.example.com)指向 CloudFront,选择 CNAME 记录。
- 输入以下信息:
- Record name(记录名称):例如,www(对于 www.example.com),或者留空以指向根域名。
- Value:输入 CloudFront 分发的域名(例如,dxxxxxxxxxx.cloudfront.net)。
- TTL(生存时间):可以使用默认值(例如,300秒)。
- 点击 Create records(创建记录)。
步骤 3:在 CloudFront 中添加自定义域名(可选)
如果您希望通过 CloudFront 使用 SSL(HTTPS)来访问您的自定义域名,请执行以下步骤:
- 返回到 CloudFront 控制台。
- 选择您的 CloudFront 分发,点击 Distribution Settings(分发设置)。
- 在 General(常规)选项卡中,找到 Alternate Domain Names (CNAMEs)。
- 添加您的自定义域名(例如,www.example.com)。
- 配置 SSL 证书:
- 如果您已经在 AWS Certificate Manager (ACM) 中申请了证书,请在 SSL Certificate 部分选择 Custom SSL Certificate,并选择您的证书。
- 如果没有,您需要在 AWS Certificate Manager 中申请一个 SSL 证书,然后返回此处进行配置。(请注意,cloudfont在配置证书默认选择us-east-1 region,所以在创建证书时必须在us-east-1 region进行创建)
- 点击 Yes, Edit(是的,编辑)以保存更改。
步骤 4:配置SSL证书(可选,和步骤3保持一致)
- 获取验证记录信息
- 登录到 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
- 登录到 AWS 管理控制台:
- 在 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(创建记录)。
- 打开 Route 53 控制台:
- 等待 DNS 传播
- 添加 DNS 记录后,可能需要一些时间(从几分钟到几个小时)才能在全网生效。
- 您可以使用命令行工具(如 nslookup 或 dig)检查 CNAME 记录是否已成功添加并生效。
- 确认验证状态
- 返回到 ACM 控制台:
- 再次打开 AWS Certificate Manager 控制台。
- 查看证书状态:
- 在证书列表中,检查您的证书状态。
- 如果 DNS 记录已正确设置并生效,证书的状态应会更新为“已颁发”
- 验证示例命令
- 使用命令行工具(如命令提示符或终端)验证 DNS 记录的示例:
nslookup -type=CNAME _abcdef1234567890.yourdomain.com
- 或
1
dig CNAME _abcdef1234567890.yourdomain.com`- 这将返回您为 CNAME 记录设置的值,确认记录已成功添加。
- 注意事项
- 确保没有拼写错误,并且在 Route 53 中添加的 DNS 记录与 ACM 提供的完全一致。
- DNS 记录的生效时间可能会受到 DNS
- 返回到 ACM 控制台:
步骤 5:等待 DNS 传播
更改记录后,可能需要一些时间(通常是几分钟到几小时)来使更改生效。您可以使用 nslookup 或其他 DNS 工具来检查域名是否已正确解析到 CloudFront。
完成以上步骤后,应该能够通过自定义域名访问 CloudFront 分发的前端项目了。
注:补充一条容易遗漏的也是我遇到的问题,就是aws域名购买后需要邮箱验证,发送的验证邮件被gmail当做垃圾邮件扔到垃圾箱了,过了15天没有验证被aws把域名suspend了,这一点一定要注意。