秒懂边缘云 | CDN基础入门:CDN解析配置

简介: CDN域名的解析配置、解析原理

前言


在根据业务情况完成添加CDN域名并配置源站后,域名尚未真正接入CDN服务。因此我们还需要将域名解析到特定的CNAME记录上,才能使得终端用户请求时,用户的DNS解析域名能通过CDN智能调度系统访问到自身周边的CDN加速节点。


在本章节,我们将为您介绍CDN域名的解析配置


准备工作


1. 已创建完成的CDN域名。

2. 登录域名所托管的DNS后台,默认情况下,DNS后台即是您购买域名的厂商对应控制台。


配置接入


根据您业务情况的不同,我们将域名解析添加分为两种情况:


情况一:该加速域名当前已在业务中使用,需要将域名及业务迁移到CDN上提供服务,例如需要迁移CDN的是您线上已对外服务的www首页域名。


情况二:该加速域名当前并未在业务上用于对外,调整解析时不会影响线上业务,普遍为加速域名和原服务域名不相同的情况。


提示:本文及后续提到的加速域名是否被使用,均指该独立域名或独立子域名,例如:线上有 example.com 和 www.example.com 域名正在提供服务,但线上并未使用过子域名 cdn.example.com 对外服务,则视为加速域名 cdn.example.com 并未在业务中对外服务。


我们将CDN接入解析的过程分为三个步骤:


  • 步骤一:灰度验证服务可用性(可选)
  • 步骤二:操作CNAME配置
  • 步骤三:检查解析配置是否生效(可选)


如果您是情况一(加速域名正在使用中)推荐您先按照【步骤一】,再执行【步骤二】,来确保线上业务的平滑迁移。


如果您是情况二(加速域名未在线上使用中)可以忽略【步骤一】,跳转【步骤二】。


操作流程如图所示,接下来将对每个步骤进行详细介绍:


Dingtalk_20220701142059.jpg


步骤一:灰度验证服务可用性


在CDN域名配置完成后,我们可以在本机将域名静态解析到某个CDN节点上,用于验收经过CDN加速后,业务是否正常服务,网站加载状态是否正常。


例如当您源站配置有误时,或者当您业务中需要 https 访问但添加域名后未配置证书时,灰度验证将帮助您发现业务加载异常的问题。


获取CDN节点IP


1. 前往阿里云CDN控制台的域名管理列表,复制加速域名对应的CNAME记录值。



2. 获取CNAME对应的IP地址。(注意:以下通过ping命令得到的IP地址仅作为参考,实际以ping您的真实CNAME地址得到的IP地址为准。)


  • Windows系统:打开终端命令窗口,在命令行中ping CNAME地址,得到ping的IP地址。




  • Mac 系统:打开终端命令窗口,在命令行中dig CNAME地址,得到dig的IP地址。



静态绑定解析


1. 在本步骤中,我们需要在您的本地电脑绑定hosts文件,用于将访问域名解析到某个特定IP上。


2. 您需要将步骤2得到的IP地址和加速域名绑定到电脑本地hosts文件中,绑定顺序为IP地址在前,加速域名在后,顺序不能颠倒。


3. 本文以加速域名为 example.com ,生成的CNAME地址为  example.com.w.kunlunsl.com ,ping example.com.w.kunlunsl.com 得到IP地址为 192.168.0.1 为例,为您介绍绑定方法。


  • Windows系统:文件路径位置为C:\Windows\System32\drivers\etc\hosts,下图为绑定成功的示例图。



  • Mac系统:文件路径位置为访达>文件夹>/etc/hosts,下图为绑定成功的示例图。


本地访问测试


1. 绑定解析后,您可以在浏览器中访问该域名下的站点内容,或者验证某个资源是否可以正常访问。


2. 如果您不确定hosts文件是否配置正确,您可以打开浏览器,访问域名下的资源,通过浏览器自带的开发者工具(chrome右键-检查-network)查看服务端的响应IP地址。


  • 如果Remote Address后的IP和您在hosts文件中绑定的IP一致,表示配置正确,您可以在域名解析服务商处配置CNAME。



  • 如果Remote Address后的IP和您在hosts文件中绑定的IP不一致,表示配置不正确,您需要检查hosts文件中绑定的IP地址是否正确,确保该IP地址是CNAME地址的IP。


成功访问加速域名后,如果您需要验证其它功能,可在电脑本地进行相应的验证,验证CDN加速后访问符合预期后,再操作步骤二。


步骤二:操作CNAME配置


操作步骤二时,默认您已知悉并参考步骤一完成了灰度测试,或者,您添加的加速域名当前未在业务中对外服务。


配置时,我们需要


获取您加速域名对应的CNAME值


1. 前往阿里云CDN控制台的域名管理列表,复制加速域名对应的CNAME记录值。



2. 打开您购买域名的厂商对应控制台,找到配置解析的位置。



3. 点击添加记录后,需要填写的内容如下:



  • 选择记录类型为CNAME
  • 填写主机记录:

     主机记录中仅需填写 加速域名去除主域名部分后的前缀即可,注意您例如:

  1. 当您需要对 cdn.example.com 加速时 :主机记录填写其前缀 cdn 即可。
  2. 当您需要对 video.cdn.example.com 加速时 :主机记录填写其前缀 video.cdn 即可。
  3. 当您需要对主域名 example.com 加速时 : 主机记录需要填写 @ 符号。
  4. 当您需要对泛域名 *.example.com 加速时 : 主机记录需要填写 * 符号(仅限CDN域名创建时,域名中填写的是泛域名 *.example.com 场景,如果您添加的是特定域名,请参考前3种配置示例)
  • 填写记录值:将您在CDN控制台上复制加速域名对应的CNAME记录值拷贝即可。
  • 其他配置(解析线路/TTL)默认即可,您可以不做修改。
  • 填写完毕后点击确认即可
  1. 如果提交成功,您可以等待10分钟左右,待DNS解析生效后参考步骤三验证是否CDN加速成功。
  2. 如果提交时报错“解析记录冲突”(例如A记录冲突或MX记录冲突),您需要参考下文中的解析冲突处理进行操作。

常见厂商及CNAME配置方法您也可以参考产品文档说明:https://help.aliyun.com/document_detail/27144.html


解析冲突处理


解析冲突一般是指该域名之前已经被指向某个位置,如果再添加CNAME记录会导致前后冲突,DNS无法判断域名最终应该访问到哪里,常见的冲突类型为A记录或MX记录


  • A记录冲突(常见)该域名已经被解析到某个源站IP地址上,例如之前的架构是用户直接访问源站,后续需要通过CDN访问,由CDN回源拉取资源。如果您已通过步骤一灰度验证域名通过CDN访问原资源正常,您可以对原有的A记录进行修改,调整该冲突主机名对应的记录类型和记录值,解析修改生效时间一般在10分钟左右。


  • CNAME记录冲突:同一个域名添加两条CNAME记录时,部分厂商会按照轮询规则解析、不提示冲突,也有厂商不允许同时存在两条不同CNAME记录。如果您需要将该加速域名全部流量切至阿里云CDN访问,建议您在原有的CNAME记录上修改,只保留一条CNAME记录即可。

  • MX记录冲突:触发MX记录冲突时,代表该域名已配置过MX记录(例如直接添加已有MX记录的主域名),按照RFC标准协议CNAME优先级最高,所以在解析请求过程中,会优先返回CNAME解析记录结果,这样设置的结果导致用户无法请求到MX记录,直接对客户的邮箱业务造成使用影响。建议您考虑添加其他加速域名用于访问,或者配置MX转发规则,详情可参考文档:https://help.aliyun.com/document_detail/39787.html


步骤三:检查解析配置是否生效


解析配置完成后,一般在10分钟左右生效,部分情况下生效时间可能晚于10分钟,但一般不超过30分钟。


  • 方法一:一键验证
  1. 前往阿里云CDN控制台的域名管理列表。
  2. 选择目标域名,将鼠标指向加速域名的CNAME状态处,弹出CNAME配置向导弹框。
  3. 单击打开配置向导后,再单击点击查询,一键验证。


提示:控制台解析验证通过探测的方式查询解析是否正确,可能存在解析获取延迟或获取结果波动的情况,如果您通过其他方式验证已经访问到CDN加速时,可以忽略控制台提示。另外,如果您仅配置了区域解析,可能会导致探测无法感知您的解析结果,不影响访问时提示可忽略。


  • 方法二:通过ping命令验证
  1. 打开Windows操作系统中的cmd程序(MacOS操作系统可以打开启动台-其他-终端)
  2. 在命令行中ping加速域名,如果返回的解析结果和CDN控制台上该加速域名的CNAME值一致,则表示CDN加速已经生效。



CDN解析原理


完成上述配置后,您的域名就正式接入了CDN进行服务,那么此时终端用户访问时,DNS是如何工作的呢?


假设您的加速域名为 www.aliyundoc.com,接入CDN开始加速服务后,当终端用户在北京发起HTTP请求时,处理流程如下图所示。



  1. 当终端用户向 www.aliyundoc.com 下的指定资源发起请求时,首先向Local DNS(本地DNS)发起请求域名 www.aliyundoc.com 对应的IP。
  2. Local DNS检查缓存中是否有 www.aliyundoc.com 的IP地址记录。如果有,则直接返回给终端用户;如果没有,则向网站授权DNS请求域名www.aliyundoc.com 的解析记录。
  3. 当网站授权DNS解析 www.aliyundoc.com 后,返回域名的CNAME www.aliyundoc.com.example.com
  4. Local DNS向阿里云CDN的DNS调度系统请求域名www.aliyundoc.com.example.com的解析记录,阿里云CDN的DNS调度系统将为其分配最佳节点IP地址。
  5. Local DNS获取阿里云CDN的DNS调度系统返回的最佳节点IP地址。
  6. Local DNS将最佳节点IP地址返回给用户,用户获取到最佳节点IP地址。
  7. 用户向最佳节点IP地址发起对该资源的访问请求。
  • 如果该最佳节点已缓存该资源,则会将请求的资源直接返回给用户(图中步骤8),此时请求结束。
  • 如果该最佳节点未缓存该资源或者缓存的资源已经失效,则节点将会向源站发起对该资源的请求。获取源站资源后结合用户自定义配置的缓存策略,将资源缓存到CDN节点并返回给用户(图中步骤8),此时请求结束。


结束


至此,CNAME解析添加的步骤已经结束。如果您在步骤一的灰度验证中访问未达到预期,可在配置调整达到预期后再进行解析记录的操作调整:


  • 源站资源访问异常时,可以参考上一章节域名添加中的源站配置说明
  • 如果业务需要HTTPS访问,或需要调整缓存配置,您可以参考后续章节继续学习。

在下个章节中。我们将共同学习「HTTPS相关功能及配置,如果您的业务有相关访问诉求,可以继续关注本系列的实践指导。




更多边缘云产品资讯欢迎访问【阿里云边缘云】或扫码关注【阿里云Edge Plus】


qrcode_for_gh_0cf3488f3334_258.jpg

边缘云 开启分布式云网融合新时代

相关实践学习
Serverless极速搭建Hexo博客
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
20天前
|
存储 弹性计算 NoSQL
"从入门到实践,全方位解析云服务器ECS的秘密——手把手教你轻松驾驭阿里云的强大计算力!"
【10月更文挑战第23天】云服务器ECS(Elastic Compute Service)是阿里云提供的基础云计算服务,允许用户在云端租用和管理虚拟服务器。ECS具有弹性伸缩、按需付费、简单易用等特点,适用于网站托管、数据库部署、大数据分析等多种场景。本文介绍ECS的基本概念、使用场景及快速上手指南。
61 3
|
21天前
|
域名解析 存储 缓存
DNS是什么?内网电脑需要配置吗?
【10月更文挑战第22天】DNS是什么?内网电脑需要配置吗?
80 1
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
前端大模型入门(三):编码(Tokenizer)和嵌入(Embedding)解析 - llm的输入
本文介绍了大规模语言模型(LLM)中的两个核心概念:Tokenizer和Embedding。Tokenizer将文本转换为模型可处理的数字ID,而Embedding则将这些ID转化为能捕捉语义关系的稠密向量。文章通过具体示例和代码展示了两者的实现方法,帮助读者理解其基本原理和应用场景。
184 1
|
1月前
|
机器学习/深度学习 调度
mmseg配置解析 Polynomial Decay 多项式衰减
Polynomial Decay(多项式衰减)是一种常用的学习率调度方法,通过多项式函数逐步减少学习率,帮助模型更好地收敛。公式为:\[ lr = (lr_{initial} - \eta_{min}) \times \left(1 - \frac{current\_iter}{max\_iters}\right)^{power} + \eta_{min} \]。参数包括初始学习率、最小学习率、当前迭代次数、总迭代次数和衰减指数。适用于需要平滑降低学习率的场景,特别在训练后期微调模型参数。
57 0
mmseg配置解析 Polynomial Decay 多项式衰减
|
1月前
|
网络协议 Docker 容器
docker中的DNS配置
【10月更文挑战第5天】
265 1
|
1月前
|
弹性计算 网络协议 Ubuntu
如何在阿里云国际版Linux云服务器中自定义配置DNS
如何在阿里云国际版Linux云服务器中自定义配置DNS
|
1月前
|
存储 编译器 C语言
C++类与对象深度解析(一):从抽象到实践的全面入门指南
C++类与对象深度解析(一):从抽象到实践的全面入门指南
48 8
|
1月前
|
JSON JavaScript 前端开发
深入解析ESLint配置:从入门到精通的全方位指南,精细调优你的代码质量保障工具
深入解析ESLint配置:从入门到精通的全方位指南,精细调优你的代码质量保障工具
79 0
|
1月前
|
编解码 计算机视觉
mmseg配置解析 align_corners=False
`align_corners=False` 是图像插值操作中的一个参数,影响输入和输出图像的角点对齐方式。`align_corners=True` 严格对齐角点,而 `align_corners=False` 均匀分布像素点,更适用于保持整体比例关系的任务,如语义分割。
31 0
|
1月前
|
机器学习/深度学习 编解码
mmseg配置解析 contract_dilation=True
`contract_dilation=True` 是 ResNetV1c 中的一种设置,用于解决多层膨胀卷积中的“栅格效应”。通过调整膨胀率,使卷积核在不同阶段更密集地覆盖输入特征图,避免信息丢失,提升特征提取质量,尤其在语义分割任务中效果显著。
40 0

相关产品

推荐镜像

更多