最近吉米一個好友的網站,一直發生資源被卡死,但是怎麼看網站文章的觀看人次都符合不了實際操爆主機的原因,所以今天就來分享一下解決的過程與方法
看了一下cloudflare的資料,發現居然非台灣連結的超過一半以上
接著再看一下威脅的部份,威脅都是來自日本的bad browser,機器人則是google跟bing為大宗
所以我就來執行一個大膽的計畫:
[LIST]
[*]把台灣以外的國家所屬IP全封掉
[*]
[*]但是機器人又是SEO的命脈,要讓它過
[*]
[*]然後臉書又是現在大家必玩的線上遊戲,所以也得讓它過,才抓的到文章的資訊
[/LIST]
Cloudflare 防火牆設定
請先登入你的cloudflare帳號,並且切入防火牆firewall的分頁
接著依序選擇「Firewall Rules」,並且點擊「Create a Firewall rule」
讓google的機器人通過
這裡我們要讓google的機器人通過,才不會影響SEO的排名以及大眾要搜尋資料時可以找到資料
Field選擇:User Agent
Operator選擇:equals (等於)
Value值輸入:Googlebot
Action選擇:Allow (允許)
若你想要讓所有機器人過
則是把Field選擇:Known Bots 即可
讓臉書的機器人通過
這裡我們要讓臉書的機器人通過,這樣我們在臉書分享連結時,才會正確抓出相關網站文章圖片介紹抬頭等資訊
Field選擇:AS Num
Operator選擇:equals (等於)
Value值輸入:63293
另外再加上個 Or
Field選擇:AS Num
Operator選擇:equals (等於)
Value值輸入:32934
Action選擇:Allow (允許)
阻擋非台灣地區的IP連入
既然我們繁體中文的網站主要針對還是大中華地區的讀者
甚至根本就是台灣讀者時
我們可以考慮把台灣以外的IP全砍了
Field選擇:Country
Operator選擇:does not equal (不等於)
Value值輸入:Taiwan
Action選擇:Block (阻擋)
這樣就完成了
優先順序很重要
最後請照這樣的順序排列,通過的放上面,阻擋的放下面
Googlebot、Facebook是讓它通過的,所以放上面
非台灣IP全擋放下面
開始起作用了
開始發揮作用了,出現阻擋訊息
趕快登入國外VPN來測試一下
真的直接噴cloudflare的錯誤畫面,不錯耶
表示國外IP連到cloudflare來就被擋下了,沒有再進一步連到我們自己的主機
接著來看一下臉書有沒有過
先使用「facebook debug tool[/url]」來貼上網站某篇文章的連結,讓它去抓基本資訊
然後我好不容易在cloudflare的防火牆事件中找到一個allow的
點進去看看,果然是來自荷蘭阿姆斯特丹的臉書機器人抓的
從User Agent的結果來看其實應該也可以這樣設定吧
總而言之,臉書也過了
伺服器這邊呢?
至於伺服器這邊呢?
趕緊來看看
哇,全部往下降了耶~
非常的舒爽啊
後記
我不是專業的MIS或是網管資安人員
若你有相關問題請找專業MIS或是資安人員解決
我今天是自己邊弄邊搞出來的結果,趕快寫一篇下來以免我忘記
當然這部份我們還要繼續觀察研究下去,看是否真的可以解決我們的問題
並且逐步開放可以正常存取的國家IP
供大家參考囉,有什麼錯誤的部份也歡迎指正喔~
謝謝