日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

Nginx:Nginx limit_req limit_conn限速

發布時間:2023/11/30 Nginx 132 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx:Nginx limit_req limit_conn限速 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

  • Nginx是一個異步框架的Web服務器,也可以用作反向代理,負載均衡器和HTTP緩存,最常用的便是Web服務器。nginx對于預防一些攻擊也是很有效的,例如CC攻擊,爬蟲,本文將介紹限制這些攻擊的方法,可以使用nginx的ngx_http_limit_conn_module、ngx_http_limit_req_module這兩個模塊達到目的,該模塊為nginx內置模塊,yum安裝即有,無需編譯安裝。本文就介紹nginx這兩個模塊的使用和細節,希望能夠對需要的小伙伴有所幫助。

基本環境介紹

  • 兩臺機器,192.168.30.105和192.168.30.106均為 1c2g40g配置,106主機提供web服務,105主機部署ab工具。

web服務如下

ab壓測獲取基礎數據

105 ab壓測結果

對web服務器index.html頁面發送并發為1000總計1000000的請求測試,每個請求建立一個連接
ab -n 1000000 -c 1000 http://192.168.30.106:80/index.html

從測試結果來看,請求全部成功;有98%的請求在22ms以內就完成響應,有99%的請求在1007ms以內就完成響應,請求響應的最長時長為31077ms。

nignx ngx_http_limit_conn_module模塊

  • 該模塊的功能是限制單個ip建立連接的個數。

對nginx進行配置

http {limit_conn_zone $binary_remote_addr zone=one:10m;...server {...location / {limit_conn one 1;}

限制每個ip連接的個數為一個

測試

對web服務器index.html頁面發送并發為1000總計1000000的請求測試
ab -n 1000000 -c 1000 http://192.168.30.106:80/index.html

從測試結果來看,請求全部成功;有98%的請求在58ms以內就完成響應,有99%的請求在1008ms以內就完成響應,請求響應的最長時長為31870ms。

測試效果

測試結果無變化,查眾多文檔,有問題,無答案,估計是個bug。

nignx ngx_http_limit_req_module模塊

  • 該模塊的功能是限制單個ip請求的個數(請求頻率)。

對nginx進行配置

去掉之前limit_conn 配置,添加如下配置

http {limit_req_zone $binary_remote_addr zone=two:10m rate=1r/s;...server {...location / {limit_req zone=two;}

限制請求的頻率為單個ip每秒一個

測試

對web服務器index.html頁面發送并發為1000總計1000000的請求測試
ab -n 1000000 -c 1000 http://192.168.30.106:80/index.html

從測試結果來看,請求只有55個成功。

測試效果

有效的阻止了用戶的請求。

測試過程web服務資源使用情況監控

CPU利用

網絡接口流量

TCP連接數狀態

總結

  • 從測試的結果以及監控數據來看,limit_conn模塊無效,不能起到任何限制作用;limit_req模塊能夠明顯限制用戶的請求內容,對于超出限制的請求,給予503的反饋;兩者對服務器性能上都沒有優化作用,拒絕的請求需要花費更多的硬件資源來處理,CPU消耗增多,接口流出的流量劇增。
  • 測試結果不是很理想,對于文中的錯誤和不足,歡迎有見識的小伙伴批評指教。

參考文檔

  • 官方文檔:http://nginx.org/en/docs
  • 使用nginx limit_req限制用戶請求速率:https://www.centos.bz/2017/03/using-nginx-limit_req-limit-user-request-rate
  • 關于limit_req和limit_conn的區別:https://blog.csdn.net/u012566181/article/details/49968283
  • ab壓力測試報錯:https://www.cnblogs.com/felixzh/p/8295471.html
  • ab性能測試結果分析:https://www.cnblogs.com/gumuzi/p/5617232.html
  • Rate Limiting with NGINX and NGINX Plus:https://www.nginx.com/blog/rate-limiting-nginx/

轉載于:https://www.cnblogs.com/William-Guozi/p/nginx_limit.html

總結

以上是生活随笔為你收集整理的Nginx:Nginx limit_req limit_conn限速的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。