快速接入阿里云CDN
快速接入阿里云CDN阿里云CDN相较于其他加速方式,其优势之一就是在于对服务器的非侵入性,用户无需修改任何业务代码,仅需通过几个简单的配置即可实现加速。接下来,本文将通过上述两个请求详细介绍阿里云CDN的配置过程,并阐述每个配置的具体作用。
说明 在正式开始接入阿里云CDN之前,您需要先完成以下两个步骤:
您需要拥有一个阿里云账号并完成实名认证,详情敬请参考账号注册和实名认证。
您需要在账号里先开通CDN服务,详情敬请参考开通CDN服务。
一、添加域名和源站配置域名为了使您的域名享受到加速服务,需要将您的域名作为加速域名配置在阿里云CDN里。只有完成这一步骤,阿里云CDN才能识别并加速您配置的域名。
添加域名
登录CDN控制台。
在左侧导航栏,单击域名管理。
单击添加域名,在域名信息页面,配置加速区域、加速域名和业务类型,其他参数均保持默认。
说明 加速域名是指接入阿里云CDN、用于加速的网站域名或资源域名,也是终端用户实际访问的域名。在上述示例的场景下,此处填写www.example.com。
加速区域请根据自身业务的实际情况选择,本次演示选择仅中国内地作为加速区域。
业务类型根据自身业务的实际情况选择,如果不清楚,可以选择“图片小文件”。
更多关于配置项的说明,敬请参见配置域名信息。
验证域名归属权为了确保您添加的域名确实归您所有,阿里云CDN需要进行域名归属权验证。如果您之前已经完成过该验证,或在配置加速域名时没有收到验证提示,可以跳过此步骤。
验证域名归属权
重要 不论选择哪种验证方法,在验证完成之前,请不要关闭验证页签。
DNS解析验证(推荐)在添加域名页面的验证页签,单击方法1:DNS解析验证,获取主机值、记录值。
在您的域名解析服务商处,添加TXT记录(以下以阿里云的云解析为例介绍TXT记录的添加方法,其他域名解析服务商(例如:腾讯云、新网等)的配置方法类似)。
配置TXT记录
登录云解析DNS控制台
在域名解析页面,找到加速域名的主域名example.com,并单击右侧的解析设置。
单击添加记录,记录类型选择为TXT,填写步骤1中阿里云CDN提供的主机记录、记录值,其余参数保持为默认填写即可。
单击确定,完成添加。
说明 主域名就像是你这家店铺的名称。比如,如果我有一个网站叫example.com,那么example.com就是我的主域名。它是整个网站的基础名字,所有和这个网站相关的网页、邮箱等都会基于这个名字来构建。比如说,我的网站可能有好几个不同的部分,像shop.example.com(用来卖东西)、blog.example.com(用来写博客)。这里的example.com始终不变,它就是我们所说的主域名,而前面的部分(如“shop.”或“blog.”)则是子域名,它们依赖于主域名存在。
等待TXT解析生效,返回CDN控制台的验证页签,单击点击验证,完成验证。
如果系统提示“验证失败”,请检查TXT记录的填写是否正确,并在DNS记录生效后重新进行验证。以加速域名www.example.com为例,检查TXT记录是否生效或正确的方法如下:
Windows系统在系统内打开cmd命令界面,输入nslookup -type=TXT verification.example.com,根据当前的TXT结果,可以查看解析记录是否生效或正确。
macOS/Linux系统在命令界面内,输入nslookup -type=TXT verification.example.com,根据当前的TXT结果,可以查看解析记录是否生效或正确。
说明 在nslookup命令中,类型是TXT,验证的域名则是将原域名的主机名替换为verification。例如,如果您的加速域名是help.aliyun.com,那么您需要验证的域名则是verification.aliyun.com。
域名首次配置TXT解析记录后将会实时生效,修改TXT解析记录通常会在10分钟后生效(具体生效时间长短取决于域名DNS解析配置的TTL时长,默认为10分钟)。
如果Linux系统没有安装nslookup命令程序,centos系:yum install bind-utils;Ubuntu系:apt-get install dnsutils 执行命令自动安装。
文件验证在验证页面,单击方法2: 文件验证。
单击verification.html,下载验证文件。
手动将验证文件上传到您主域名服务器(例如您的ECS、OSS、CVM、COS、EC2等)的根目录。例如:当前加速域名为www.example.com,您需要将该文件上传至 example.com 的根目录下。
确保可通过http://example.com/verification.html访问到该文件后,即可点击验证进行验证.
阿里云CDN后台将访问您服务器中http://example.com/verification.html文件链接进行验证。
如果文件内的记录值与验证文件记录值一致,则通过验证。
如果验证失败,请确保上述文件链接可访问,并且您上传的文件正确。
配置源站信息源站是指您运行业务的网站服务器。您需要在阿里云CDN中配置源站信息,以便在阿里云CDN未缓存数据时,能够访问您的服务器以获取资源。
配置源站信息
完成域名业务信息配置后,在源站信息区域单击新增源站信息。
在新增源站信息对话框中,选择源站的类型,并填写源站地址。
根据您源站的实际情况填写端口,如果不清楚或者没有特殊配置,请保持默认值。
说明 本示例以10.10.10.1作为源站服务器的IP来演示。
如果您要加速OSS的资源,源站信息请选择OSS域名;
如果您要加速的资源部署在ECS,源站信息请选择IP,IP请填写ECS服务器的公网IP。
如果您要加速的资源在服务器上并且不能使用IP访问,源站信息请选择源站域名,域名填写源站服务器的域名。但请注意,源站域名不能和加速域名相同,否则会造成循环解析。
如果您要加速的资源是阿里云的函数计算,源站信息请选择函数计算域名,区域和域名根据您账号的函数计算资源进行选择。
更多关于源站配置项的说明,敬请参见配置源站信息。
关于CDN与OSS的最佳实践,敬请参见CDN加速OSS资源。
验证加速域名成功添加加速域名后,为保证DNS解析可以顺利切换而不影响现有业务,建议您先在本地测试加速域名,验证加速域名访问正常后,再将加速域名的DNS解析记录指向CNAME域名。
说明 模拟访问等同于正常的CDN访问,因此也会产生CDN基础服务和增值服务费用(如果测试的是增值服务),计费方式与正常使用CDN的计费方式相同。详细信息,请参见计费组成。
验证加速域名
获取加速域名的CNAME地址。
登录CDN控制台。
在左侧导航栏,单击域名管理。
在域名管理页面,复制加速域名对应的CNAME地址。
说明 请复制状态为正常运行的CNAME地址。
获取CNAME对应的IP地址。在命令行(CMD,PowerShell或终端)中使用nslookup命令查询CNAME地址,得到IP地址。例如:
nslookup example.aliyundoc.com.w.kunlunle.com
在本地电脑绑定hosts文件。
您需要将步骤2得到的IP地址和加速域名绑定到电脑本地hosts文件中,绑定顺序为IP地址在前,加速域名在后,顺序不能颠倒。接下来将以IP地址为192.168.0.1为例,为您介绍绑定方法。
Windows系统进入路径C:\Windows\System32\drivers\etc,使用记事本以管理员身份打开hosts文件。
编辑hosts文件。文件内容可能类似如下:
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost在文件末尾添加获取到的IP地址和加速域名,例如:
192.168.0.1 example.aliyundoc.com保存更改。编辑完成后,选择文件 > 保存 或按Ctrl + S保存更改。
(可选)刷新DNS缓存是为了确保DNS解析的更改立即生效。
打开命令提示符(以管理员身份运行),输入以下命令并按回车:
ipconfig /flushdnsmacOS系统打开Terminal终端,使用以下命令以管理员权限打开hosts文件。
sudo vim /etc/hosts编辑hosts文件。文件内容可能类似如下:
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost在文件末尾添加获取到的IP地址和加速域名,例如:
192.168.0.1 example.aliyundoc.com保存更改并退出。
按Esc键退出插入模式,然后输入:wq按回车,保存文件并退出vim。
(可选)刷新DNS缓存是为了确保DNS解析的更改立即生效。
在终端中输入以下命令并按回车:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder测试加速域名是否访问正常。
成功绑定hosts文件后,您可以打开浏览器,在本地访问加速域名进行连通性测试,测试结果可通过浏览器自带的开发者工具查看。
如果Remote Address后的IP和您在hosts文件中绑定的IP一致,表示配置正确,您可以在域名解析服务商处配置CNAME。
如果Remote Address后的IP和您在hosts文件中绑定的IP不一致,表示配置不正确,您需要检查hosts文件中绑定的IP地址是否正确,确保该IP地址是CNAME地址的IP。
成功访问加速域名后,如果您需要验证其他功能,可在电脑本地进行相应的验证。
二、配置CNAME在未接入阿里云CDN之前,当用户输入域名后,请求会直接流向指定的服务器;接入阿里云CDN之后,用户的请求首先会被发送到最近的阿里云CDN节点,再由阿里云CDN确定是否需要调用服务器回源。为了确保请求链路能够从直接连接源服务器顺利切换到通过阿里云CDN进行访问,您需要进行CNAME配置。
CNAME记录是一种DNS记录类型,用于将一个域名指向另一个域名,更多关于CNAME的介绍,敬请参考CNAME记录简介。
在DNS服务中配置CNAME
前往阿里云CDN控制台的域名管理列表,找到之前添加的域名,复制域名对应的CNAME值(如果此处值为空,请稍等五秒之后刷新重试)。
在DNS服务器中配置CNAME记录。不同DNS服务商配置CNAME域名解析的方法不同,请以实际情况为准。本文以阿里云和腾讯云两大DNS服务商为例。
阿里云配置CNAME方法如果您的DNS服务商是阿里云,您可以根据以下步骤完成CNAME配置。
使用加速域名所在的阿里云账号,登录云解析DNS控制台
在域名解析页面,找到加速域名的主域名example.com,并单击右侧的解析设置。
单击添加记录,添加CNAME记录。
记录类型选择CNAME。
重要 主机记录就是域名的前缀。www.example.com的主机记录是www;如果您的加速域名就是主域名example.com,那么对应的主机记录填写@。
对于同一个主机名,CNAME记录和A记录是相互冲突,只能有一个存在。如果您要加速的域名存在相同主机记录的A记录,需要将A记录暂停或删除,才能配置CNAME记录。
暂停A记录,配置CNAME的时候,会导致域名短暂的不可访问,为减少对您域名的影响,请根据您日常流量的变化情况,在合适的时间进行配置。
单击确认,完成添加。
腾讯云配置CNAME方法如果您的DNS服务商是腾讯云,您可以根据以下步骤完成CNAME配置。
登录DNSPod控制台。
在对应域名的域名解析页,单击添加记录,添加CNAME记录。
参数
说明
填写样例
主机记录
加速域名为子域名的情况下,主机记录为子域名的前缀。
加速域名为泛域名的情况下,主机记录为*。
加速域名为根域名自身时,主机记录为@。
说明 关于子域名的解释,您可以参考域名基本概念。
子域名示例:
加速域名为example.aliyundoc.com,主机记录为example。
加速域名为www.example.aliyundoc.com,主机记录为www.example。
泛域名示例:
加速域名为.aliyundoc.com,主机记录为*。
加速域名为*.example.aliyundoc.com,主机记录为*.example。
根域名示例:根域名为aliyundoc.com且配置加速域名为aliyundoc.com时,主机记录填写@。
说明 域名解析设置是针对您注册的域名(如aliyundoc.com)或域名的左侧部分进行解析设置。配置主机记录时,您仅需要填写要解析的部分(如解析example.aliyundoc.com时填写example)。
记录类型
选择CNAME。
CNAME
线路类型
选择“默认”类型。
推荐保持默认
记录值
输入加速域名对应的CNAME记录值。
说明 一级域名(如example.aliyundoc.com)和二级域名(如www.example.aliyundoc.com)对应的CNAME值不同。如果您要加速二级域名,需要将二级域名也添加到CDN上并解析到对应的CNAME记录值,或者在CDN上添加泛域名,泛域名的CNAME可以被二级域名使用。添加泛域名或二级域名,请参见添加加速域名。
www.example.com.w.kunlunsl.com
权重
无需填写。
不涉及
MX
无需填写。
不涉及
TTL
TTL为缓存时间,数值越小,修改记录后各地生效时间越快。
推荐保持默认
单击保存,完成添加。
验证配置的CNAME是否生效。
CNAME状态前往阿里云CDN控制台的域名管理列表。
选择目标域名,将鼠标指向加速域名的CNAME状态处,状态为已配置时,则表示CNAME配置已生效。
说明 在配置CNAME之后,控制台中CNAME状态可能仍会显示待配置,请刷新页面或等5分钟再来验证。
通过nslookup命令验证打开cmd程序(Windows)、终端(macOS/Linux)。
输入nslookup -type=CNAME 加速域名(例如nslookup -type CNAME www.example.com ),如果返回的解析结果和CDN控制台上该加速域名的CNAME值一致,则表示配置的CNAME已经生效。
通过ping或dig命令来判断Windows系统 :按下Windows键+R键,在弹出的运行输入框里,输入cmd,点击确定,打开cmd命令行。
macOS系统 :打开“终端”。
执行检查命令。
在窗口中输入 "ping" + 加速域名,例如ping www.example.com 。
在窗口中输入 "dig" + 加速域名,例如dig www.example.com。
如果得到的结果是配置CNAME值www.example.com.w.kunlun.com,则证明阿里云CDN已经生效。
如果得到的是一个IP(如上图),则可以使用阿里云CDN自带的IP检测工具检查。
判断IP是否为阿里云CDN节点的IP地址
登录CDN控制台。
在左侧导航栏,单击工具服务。
选择IP检测,单击去使用。
输入您要检测的IP,单击开始检测。
说明 支持检测IPv4和IPv6地址。一次最多可查询20个IP地址,多个IP地址使用英文逗号(,)间隔。
查看检测结果。
如果您检测的IP地址为CDN节点IP,检测结果会显示是CDN节点,并显示IP所属的地区和运营商。
如果您检测的IP地址不为CDN节点IP,检测结果会显示不是CDN节点,地区和运营商未知。
说明 更多关于CNAME的配置细节,敬请参见配置CNAME。
三、配置HTTPS证书如果您的应用在配置阿里云CDN之前已经支持HTTPS访问,请务必进行HTTPS证书的配置,否则您的域名将不再支持HTTPS访问。
如果您的域名之前就不支持HTTPS访问,并且暂时也不打算支持HTTPS访问,那么您可以直接跳过该部分。
配置HTTPS证书
重要 开启HTTPS将产生HTTPS请求数,静态HTTPS请求数每月前500万次免费,超过500万次后,开始计费。HTTPS请求数计费不能使用CDN流量包抵扣,请确保您的账户余额充足,或购买HTTPS请求包,避免欠费导致CDN停止服务。详情敬请参见静态HTTPS请求数。
登录CDN控制台。
在左侧导航栏,单击域名管理。
在域名管理页面,找到目标域名,单击操作列的管理。
在指定域名的左侧导航栏,单击HTTPS配置。
在HTTPS证书区域,单击修改配置。
在HTTPS设置界面,打开HTTPS安全加速开关,并配置证书相关参数。
说明 如果您已在阿里云数字证书管理服务中购买了证书,请选择云盾(SSL)证书中心,并在证书名称中选择已购买的证书,如果无法选择您购买的证书,请检查已购买证书绑定的域名和加速域名是否相同。
如果您使用的是第三方服务商签发的证书,请选择自定义上传(证书+私钥),您需要在设置证书名称后,上传证书(公钥)和私钥,该证书将在阿里云数字证书管理服务中保存。您可以在我的证书中查看。
验证HTTPS配置是否生效
更新HTTPS证书1分钟后将全网生效。您可以使用HTTPS方式访问资源,如果浏览器(Chrome浏览器)中URL旁边出现下方的HTTPS标识,表示HTTPS安全加速已生效。证书配置完成后,您需要留意证书过期时间并在证书过期前手动配置新的证书。
说明 更多关于HTTPS证书的配置,敬请参见配置HTTPS证书。
四、验证阿里云CDN缓存是否成功验证阿里云CDN缓存是否生效
Windows系统 :按下Windows键+R键,在弹出的运行输入框里,输入cmd,点击确定,打开cmd命令行。
macOS系统 :打开“终端”。
在窗口中输入 "curl -I" + 加速域名资源,例如ping www.example.com/10.JPG。
当相应头结果中有Age、X-Cache、X-Swift-SaveTime、X-Swift-CacheTime时,证明阿里云CDN已经生效。
说明 X-Cache:字段为MISS,则表示未命中缓存,需要进行回源处理;X-Cache字段为HIT,则表示命中了CDN缓存,会直接读取缓存数据。
Age: 表示文件在CDN节点上缓存的时间(秒)。文件被刷新或首次访问无此字段。Age为0表示缓存过期,需回源校验。
X-Swift-SaveTime:表示资源首次被缓存到CDN节点上的时间(GMT)。转换为中国北京时间需加上8小时。
X-Swift-CacheTime:字段值表示CDN节点上的允许缓存时间,即该文件可以在CDN节点上缓存多久。如果是0,则表示该请求无法缓存。
说明 如果您按照上述流程配置完成之后,仍然出现无法访问或访问异常,敬请参见无法访问/访问异常排查。
至此,阿里云CDN的主要配置已完成,您的网站现在可以通过阿里云CDN实现访问加速。但是,为了确保网站的安全稳定运行,我们强烈建议您进一步设置阿里云CDN的安全防护措施及缓存策略。