问题现象
在使用天翼云CDN加速时,出现404报错页面。
问题原因
404状态码是HTTP协议中的一种状态码,表示客户端所请求的资源未找到。当服务器无法找到与请求的URL对应的资源时,会返回404状态码给客户端,Web浏览器中显示为“页面未找到”、“页面不存在”或类似的提示,具体如下图示:
导致该错误的原因可能有如下几种:
- 场景一:CDN未正确配置:如果CDN未正确配置,指向了错误的资源路径,源站会无法找到正确的内容,从而导致404页面的出现。
- 场景二:服务器资源不存在:如果网站管理员删除或重命名源服务器上的某个文件或目录,服务器对应旧URI路径的资源不存在,那么CDN将无法得到对应的文件,从而返回404状态码。
- 场景三:拼写错误或客户端URL生成规则错误:如果在URL中存在拼写错误、文件路径错误或客户端URL生成规则有误等问题,将无法在服务器找到对应的资源,从而返回404状态码。
解决方案
如果您遇到CDN出现404页面的情况,根据不同场景,可以尝试以下解决方法:
场景一:检查CDN配置是否正确:CDN配置的回源域名/回源IP、回源HOST、源站端口、回源协议等配置是否正确。
- 回源域名/回源IP错误:检查回源域名/回源IP配置是否为目标源服务器的域名或IP、拼写是否正确。
- 回源HOST配置错误:回源HOST用于指定CDN节点回源时,请求URI具体的资源站点位置。如果回源HOST配置错误,源站无法根据HOST定位到URI资源的站点位置,源站也会响应404。回源域名/回源IP、回源HOST的区分如下:
- 回源域名/回源IP:指您的源站服务器,即存储和提供网站内容的主要服务器,该地址决定了CDN回源时建联的具体IP地址。
- 回源HOST:指CDN回源请求头中携带的HOST字段值,决定了回源请求访问到源IP地址上的具体站点位置。若未指定回源HOST,默认取值当前加速域名。
- 源站端口/回源协议配置错误:该问题通常存在于源站端口非默认80/443端口,或http、https仅单一协议中存在资源。例如:
- 源站http服务端口为81,则需要修改回源配置,配置【回源端口】为http 81。
- 源站https服务端口为82,则需要修改回源配置,配置【回源端口】为https 82。
- 源站仅单一协议存在资源(http默认80端口,https默认443端口),则根据实际源站情况,修改回源协议为HTTP或HTTPS。
场景二:检查源服务器资源是否存在:检查资源在源服务器上存在且路径正确。
场景三:检查网页文件生成规则及URL链接拼写:检查网页URL生成规则正确、URL链接拼写无误。
如果以上方法均无效,建议联系网站管理员或提交工单联系天翼云客服进行处理。