為了限制連接的數量,首先,使用指令來定義密鑰並設置共享內存區域的參數(工作進程將使用該區域來共享鍵值的計數器)。作為第一個參數,指定作為關鍵字計算的表達式。在第二個參數區域中,指定區域的名稱及其大小。
其次,使用指令在一個位置、一個虛擬服務器或整個HTTP上下文中應用該限制。將共享內存區域的名稱指定為第一個參數,並將每個密鑰的允許連接的數量作為第二個參數。
測試:當訪問該內容並發數為1時
全部訪問成功
測試:當訪問該內容並發數為10時
只有一次訪問成功,其他都是503報錯
為了限制請求率,首先,使指令設置密鑰和共享內存區域來保持計數器。
一旦定義了共享內存區域,在虛擬服務器或位置(或者如果需要的話,在全局上)使用指令來限制請求率:
限制每個連接的帶寬,使用指令:
測試:在帶寬為50K.速率為1r/s的情況下下載文件
nginx.conf的內容如下:
從server1下載,速率受限
當順序顛倒,所有主機都被限制訪問
因為當deny在前所有的請求都被拒絕系統讀不到下面的一行allow內容
當allow在前deny在后,allow的信息已經被系統讀取過了然后才去讀取的deny
Expires是Web服務器響應消息頭字段,在響應http請求時告訴瀏覽器在過期時間前瀏覽器可以直接從瀏覽器緩存取數據,而無需再次請求
在客戶端訪問圖片:
在瀏覽器訪問:出現亂碼
應對策略:
訪問靜態數據不記錄日志:
要求:每天的24點備份日至。
首先編寫備份日志的腳本:
加入定時任務中:
執行腳本:
在做防盜鏈之前我們先來看看什么時盜鏈:
盜鏈是指服務提供商自己不提供服務的內容,自己的網站上向用戶提供其它服務提供商的服務內容,騙取最終用戶的瀏覽和點擊率。受益者不提供資源或提供很少的資源,雅思周末班而真正的服務提供商卻得不到任何的收益。
盜鏈的模擬:
在客戶端www.westos.org指向的是server1,172.25.7.1
測試:http://172.25.7.2/
server2沒有此圖片通過盜鏈而讓客戶端可獲取到此圖片
防止盜鏈:
WEB應用防火牆通過實現URL級別的訪問控制,對客戶端請求進行檢測,如果發現圖片、文件等資源信息的HTTP請求來自於其它網站,則阻止盜鏈請求,節省因盜用資源鏈接而消耗的帶寬和性能。
當訪問1的圖片時直接定位至bbs.westos.org防止圖片被盜鏈
再次訪問172.25.7.2時:
此圖片是我放入bbs的默認發布目錄里的