今天12點左右,它又來了,熟悉的恐怖身影(116開頭IP段、山西的某個城市),不是cc攻擊,是那隻令人“敬畏”的蜘蛛。
2022年4月3日,它的首次來訪在園子裡掀起狂風暴浪,資料庫連線數過萬,負載均衡頻寬跑滿,頻寬擴容50%依然跑滿,當時我們透過限制同一個IP每天的請求數僥倖躲過。
2022年5月4日,它如同吃了興奮劑般變得格外瘋狂,由於觸發IP請求數限制被重定向到登入站點,但它那龍捲風般的天量請求直接沖垮登入站點,無奈之下,我們遮蔽了這個IP網段。
它有成千上萬的IP,我們遮蔽的IP網段只有255個IP,看索引量沒有大的變化,我們天真地以為影響不大,卻不知因此得罪了中文網際網路的老大。
得罪老大的後果就是:園子遭遇2022年最悲慘的境遇——被它拉黑,在搜尋結果中對園子全面降權,讓我們切身體會老大的厲害。
後悔自己的天真,感嘆老大的厲害,我們亡羊補牢以求老大網開一面——放開了被遮蔽的IP網段。
解除遮蔽後觀察了1-2月,搜尋流量並沒有明顯的回升,看來這次真的是惹怒了老大,我們會後悔莫及,見識了真正霸氣的老大不會給你悔過的機會。
在觀察期間,我們有了一個驚人的發現——每天光臨園子最多的竟然是它,每天竟然訪問1000多萬次,園子的博文總數也就在1000萬篇左右,日理萬機的它竟然會每天看園子的每篇博文,難道準備以後改行當程式設計師?
接著,我們又有一個發現,每天千萬次的訪問竟然消耗了園子近一半的頻寬費用,對於囊中羞澀的園子來說有點吃不消,每天讓它看園子的每篇博文,還得給它倒貼頻寬費,而且在搜尋排名中繼續被拉黑著。
於是,我們採取了一個應對之策,專門提供一個負載均衡給它訪問並限制了峰值頻寬,這樣不僅可以控制頻寬費用,而且在它發飆的時候可以減少當機。
從去年到今天中午,它被我們這個對應之策透過專用負載均衡關進籠子裡,即使被限制了頻寬,它也會很多時候給園子帶來3000-4000的QPS,所以來個cc攻擊,園子就格外難以撐住。
今天中午,恐怖的事情發生了,它開始不遵守針對搜尋引擎的dns解析,從籠子裡跑出來了!
近一年後它依然如此彪悍,如此毫無忌憚,園子依然扛不住,除非遮蔽 IP 段,但又不敢再次得罪依然威風凜凜的老大,目前只是臨時限制它所訪問的負載均衡的頻寬,但這會讓訪問這些負載均衡的正常使用者受影響。
非常抱歉,這個突發問題給您帶來了麻煩,我們正在進一步想辦法,爭取找到更好的解決方法。
【16:30】剛剛試著放開一些頻寬,資料庫連線數很快飆升,這種併發瘋狂爬取不同博文,快取發揮不了作用。
【16:50】這隻蜘蛛今天已瘋,我們不想陪著瘋,已暫時遮蔽去年遮蔽過的那個網段,遮蔽後立馬恢復正常。如此瘋狂的爬取已經和cc攻擊沒什麼區別了。
【19:15】今年2月,我們透過“百度搜尋資源平臺-反饋中心”反饋“抓取頻次高的離譜,百度蜘蛛每秒請求數(QPS)竟然高達4000多”問題,百度客戶竟然回覆讓我們“自查整改”,嚇得我們再也不敢向百度客服反饋問題了。
【19:30】在被全面降權後,我們被自己的經歷驚呆了,百度不打一聲招呼隨手一掐,每天幾百萬的搜尋流量就沒了。如果是一家依賴搜尋流量的公司,百度可以隨時要這家公司的命,園子因為不依賴百度流量而躲過一劫。
【20:10】又想起一則百度蜘蛛的故事,那是在2021年,百度蜘蛛模擬不同移動端螢幕尺寸的使用者每天以超過百萬的 UV 訪問園子,但 UA 卻不帶百度蜘蛛的標識(使用的是正常使用者移動端瀏覽器的UA),造成GA這樣的訪問統計軟體識別不出來,從而嚴重干擾了統計資料的準確性。