»

CDN服务器开启HTTP/2功能,而主机不支持,百度蜘蛛抓取错误

    网站建设  
腾讯云加速web.configWp Super Cache伪静态访客HTTP标头WordPress插件插件七牛wordpress浏览器又拍云CDNIISApache建站爬虫cookieshtaccess重定向前端百度云加速数据库工作网络安全CDN

最近设置 Apache 主机的时候遇到了一个问题。使用百度站长工具中的 抓取诊断工具 时,一直不能正常抓取网页。

failed-to-fetch

显示:连接失败。

err-info

真让人窝火。反复试,终于找到了原因。打开网页的 HTTP Headers 里面多了一个:upgrade: hc,h2c 。以前没有这个。最后终于找到了源头:原来是在 CDN 中开启了 HTTP/2 功能所致。

HTTP/2 即超文本传输协议 2.0,是下一代 HTTP 协议,支持包括采用二进制格式传输数据、对消息头采用 HPACK 进行压缩传输、多路复用等特性。

但是,如果你的主机不支持,而 CDN 又开启了该功能,就会带进来 upgrade: hc,h2c ,导致出现 HTTP状态码为 100 这样的情况,使百度蜘蛛不能正常抓取。这里只是说的百度蜘蛛,对于必应、谷歌的蜘蛛而言,完全没问题。

应该关闭 HTTP/2 功能,或者在 CDN 设置中删除 upgrade 头。或者在 Apache 主机的 .htaccess 文件进行设置删除。

本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利

时光在路上扫码阅读、分享
  • 版权声明:该文章由 时光在路上 发表,共 397字。除非特别标注来源,否则为原创。详见《版权声明》部分。
  • 转载请注明:文章标题和文章链接 - 时光在路上 - 也可直接“复制本文链接” 或 使用右边二维码分享本文 →