最近吉米一個好友的網站,一直發生資源被卡死,但是怎麼看網站文章的觀看人次都符合不了實際操爆主機的原因,所以今天就來分享一下解決的過程與方法

看了一下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

供大家參考囉,有什麼錯誤的部份也歡迎指正喔~

謝謝