不過同仁在昨日突然提出這個問題。不能阻斷這些 robot,又怕這些 robot 影響主機的效能。
因為不能主動的直接拒絕掉這些 robot 連線,也只好限制它能使到的資源,讓資源的使用可以最大化。找找資料後,大致上覺得可以應對的方式如下(當然也許有其它更好的處理方式,往後看到或想到再慢慢補充)。
- Apache安裝 mod_ratelimit 模組。針對特定的目錄,例如一些全文 PDF檔的目錄限制流量,這樣可以允許更多的使用者存取檔案也不會造成塞車的現象。
- Apache安裝 mod_evasive 模組,直接阻斷或暫時中斷這些同 IP來源的大量存取連線。
- Apache 安裝 mod_bw,限定己知的 robot IP 來源,使用不同的流量限制。
- 調整網站架構。在服務的 Apache 主機的前端,搭配快取機制,如在前端再起一台 proxy 主機,應付這些相同連線的執行結果。
沒有留言:
張貼留言