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