這篇文章將為大家詳細(xì)講解有關(guān)Nginx服務(wù)器如何實現(xiàn)通過ip和user_gent限制訪問,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)公司是一家以成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、品牌設(shè)計、軟件運維、營銷推廣、小程序App開發(fā)等移動開發(fā)為一體互聯(lián)網(wǎng)公司。已累計為小攪拌車等眾行業(yè)中小客戶提供優(yōu)質(zhì)的互聯(lián)網(wǎng)建站和軟件開發(fā)服務(wù)。
DDOS攻擊是大規(guī)模訪問站點經(jīng)常會遇到的問題,它是指有人通過程序惡意刷站點的某些頁面,導(dǎo)致站點響應(yīng)緩慢或者直接拒絕服務(wù)。
這種情況可以通過分析nginx的access日志發(fā)現(xiàn),存在大量相同ip或者user_agent的請求,我們可以根據(jù)請求的相似性,對于這些訪問的請求,直接在nginx層面上過濾掉。
通過ip限制訪問
Nginx中訪問控制模塊相關(guān)文檔
http://nginx.org/en/docs/http/ngx_http_access_module.html
訪問控制可以通過deny指令來拒絕訪問,allow指令允許訪問。
當(dāng)有多個deny和allow規(guī)則時,匹配到對應(yīng)的規(guī)則就跳出。
拒絕固定ip
deny 192.168.1.12;
拒絕ip網(wǎng)段
deny 192.168.1.0/24;
只允許內(nèi)網(wǎng)訪問
allow 192.168.1.0/24; deny all;
通過user_agent限制訪問
Nginx沒有專門針對user_agent的限制指令,user_agent在nginx中可以通過$http_user_agent變量訪問到,使用if指令對user_agent進(jìn)行正則匹配,對于匹配到的規(guī)則,拒絕訪問即可。
nginx中對if指令介紹的比較詳細(xì)的在rewrite模塊中
http://nginx.org/en/docs/http/ngx_http_rewrite_module.html
通過user_agent限制Jmeter測試工具的訪問
if ($http_user_agent ~ "^Apache.*Java"){ return 403; }
關(guān)于“Nginx服務(wù)器如何實現(xiàn)通過ip和user_gent限制訪問”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。