关于 socket读写错误 的猜想和解决方法 百度站长工具抓取诊断socket读写错误怎么解决的?
最近发现本站的流量一直呈不正常的下滑趋势,今天特意关注了下,发现本站在百度后台的抓“抓取诊断”抓取网页是会出现报错,错误为“socket 读写错误”如下图
而且发现在“抓取异常”里面发现近期出来了一部分网页“500”服务器错误的情况
这就有些不正常了,首先去百度搜索了下“socket 读写错误”到底是什么情况,发现还真有人出现类似的情况
socket读写错误解决方法
百度站长工具抓取诊断出错这个怎么解决?socket读写错误,看帮助里面说
【socket读写错误】
当百度spider访问服务器,进行tcp通信的时候,socket读写发生异常,导致数据不能正常返回。请检查服务器连接状况和防火墙设置是否符合预期。
检查:服务器能正常打开,服务器也没有什么安全软件,就只装了一个安全狗。
抓取诊断是时对时错,错误提示如下图:socket读写错误
不清楚是什么原因,或者说要怎么解决,求助!!!
问题解决办法:
我是用了安全狗,关掉 解决
上面为网络上面搜索到的别人的解决方法,发现很大几率为防火墙的问题,再结合下面百度官方给出的解释更加印证了我的猜想。
百度官方对socket读写错误的解释
【socket读写错误】
当百度spider访问服务器,进行tcp通信的时候,socket读写发生异常,导致数据不能正常返回。请检查服务器连接状况和防火墙设置是否符合预期。
最后的总结
果然如我猜想的那样,由于使用的宝塔面板而且开启了“CC攻击”防火墙,而已又把攻击频率设置的太低。
CC攻击触发频率(次)50
CC攻击触发周期(秒)60
之所以之前没有出现这种错误,是因为最近百度最近的抓取频率比以前出现了提高,所以服务器误把蜘蛛当做了“CC攻击”进行了拦截,所以导致了“抓取诊断”提示错误“socket 读写错误”
301强制跳转引起的socket读写错误
最近发现还有一种会导致提示socket读写错误的原因
是由于 nginx 将 http强制转换成https了,导致http 无法直接访问,而百度抓取的是http站点, 将强制跳转https,关了就好了
#if ($ssl_protocol = "") { return 301 https://$server_name$request_uri; } // 其他设置可自行百度禁掉
点击链接加入群聊三群:751529538
点击链接加入群聊二群:376877156
点击链接加入群聊【路由器交流群:622891808已满】
本站附件分享,如果附件失效,可以去找找看
饿了么红包