服务故障
- 如果无法访问 CDN 加速域名,应提供哪些信息来帮助调查问题?
- 为什么不能缓存我的 URL?
- 为什么域名会解析到源站?
- “CNAME 不能用于系统提示”消息的含义是什么?
- 为什么回源流量大于内容分发网络流量?
- 自开始使用 CDN 后,网站就打不开了。
- 自开始使用 CDN 后,网站登录就无法正常工作了。
- 缓存刷新失败。
- 为何在未将 CNAME 设置为 Azure CDN 的情况下会有 CDN 流量?
如果无法访问内容分发网络加速域名,应提供以下信息来帮助尽快确定问题所在:
* 出现问题时正在访问的内容分发网络节点 IP。 若要查找 IP,请执行以下操作:
- 选择 Win+R,输入 cmd,然后选择“确定”,以便显示 cmd.exe 窗口。
- 输入 nslookup 域名,获取“地址”对应的 IP 地址。 例如,如果加速域名为 www.cdntest.com,则在命令窗口中输入 nslookup www.cdntest.com,然后选择 Enter。
* 将有问题的 URL 设置为可复制文本,因为故障排除人员可能需要复制较长的 URL 以节省时间。 类似于:http://www.eaxmple.com/aaabbbb.jpg
* 终端出口 IP。
* 网页打不开、循环和 5x 等问题的屏幕截图,以及屏幕截图有助于直观显示的其他信息。
* 问题发生的大致时间。
无法缓存 URL 通常由以下原因之一造成:
* 源站 URL 的相应标头包含以下信息:
- Set-Cookie(且缓存规则中未选中“忽略 Set-Cookie”选项)。
备注
Set-Cookie 用于用户登录和身份识别时,无法勾选“忽略 Set-Cookie”选项。 否则,可能会导致功能问题。
Cache-Control:缓存规则中未选中 No-store/no-cache/private(和“忽略 Cache-Control”)选项。
- Expires 时间是过去的时间。 Expires 设置缓存过期的时间点。 如果此时间为过去的时间,则无法缓存 URL。
- Max-age 的值非常小。 Max-age 设置缓存时间的长度(以秒为单位)。 如果该值太小,例如小于两位数,过期速度会非常快,导致 URL 无法缓存。
未配置缓存规则或配置错误,且 URL 无法命中任何缓存规则。 例如,如果用户不小心输入了以下规则:“[任意字符 ](.gif|.jpg|.bmp) (.gif|.jpg|.bmp)”,由于扩展名是重复的,因此即使是图像类型也无法命中规则。
* 到目前为止,还没有用户访问过该 URL,因为有些节点只有在用户访问过内容后才会缓存内容。
如果域名内容分发网络的加速区域为中国,则使用非中文域名系统 (DNS) 解析的海外 Internet 用户或中国 Internet 用户可能会解析到源站。 Azure 内容分发网络平台针对这种情况的默认配置是使用国内内容分发网络节点来服务海外访问。
虽然我们没有对加速域名施加限制,但某些域名管理公司可能不允许对包含主机名的域名使用 CNAME。 可以通过更改加速域名或域名管理公司来解决此问题。
一般情况下,回源流量小于或等于内容分发网络流量。 但在某些情况下,回源流量也可以大于内容分发网络流量(例如,如果访问者发送了相对较大的文件的请求)。 例如,如果节点尚未缓存一个 100 MB 的文件,则网络节点会从源站中检索它,对于这么大的文件来说,检索自然需要一些时间。 但是,此时访问者可能不会继续等待,结果导致连接断开。 在这种情况下,网络节点仍会将整个 100 MB 的文件传输过来。 当网络节点发现访问者不再需要该文件时,访问者已经没有办法返回,因此回源的流量达到 100 MB,而网络流量没有达到 100 MB。
* 缓存规则配置存在问题。
* 可以缓存的资源量很小。
* 缓存时间短。
下面是几种可能的原因:
* 源站出现故障。
* 源站的防火墙屏蔽了内容分发网络节点。
* 节点屏蔽了客户端 IP。
* 如果添加了新域名或域名状态发生变化,并且节点配置出现问题,可能需要等待一段时间,通常约 60 分钟,直到问题得到解决。
* 设备故障。
缓存规则中很可能设置了不应缓存的资源。 不得缓存用户的后端登录文件夹(例如 /user 或/admin 等);如果是非登录或用户回调站点,已配置缓存规则,则在缓存规则中禁用 cookie。
在提交手动刷新后,系统会识别正常工作的设备以分配任务。 但如果在分配过程中某个设备出现异常,系统会自动检测并禁用它。 (服务状态关闭后客户不会解析到该节点,不影响加速服务),继续向其他正常设备分配任务,直至任务完成,此时界面就会显示“刷新失败”。同时客服和运维会接到邮件,第一时间做处理,即便是刷新失败不影响 CDN 服务。
如果加速的域名服务状态已启用,即使你未将 CNAME 设置为 Azure CDN,我们的探测设备仍有可能检测源站和加速详细信息。 这也是我们建议在选择 URL 监视时尽可能选择较小文件的原因。 如果不想让无 CNAME 的加速域名消耗数据流量,可以将该服务切换到禁用状态。