麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網站 > Nginx > 正文

Nginx防止流量攻擊的配置詳解

2024-08-30 12:28:51
字體:
來源:轉載
供稿:網友

使用場景

最近在工作中遇到一個問題,項目中報告查詢系統負載均衡集群相關配置已經完成,兩種實現方式分別是基于Ehcache和Redis的session管理策略。

大家都知道服務器資源有限的,但是客戶端來的請求是無限的(不排除惡意攻擊), 為了保證大部分的請求能夠正常響應,不得不放棄一些客戶端來的請求,所以我們會采用Nginx的限流操作, 這種操作可以很大程度上緩解服務器的壓力, 使其他正常的請求能夠得到正常響應。

如何使用Nginx實現基本的限流,比如單個IP限制每秒訪問50次。通過Nginx限流模塊,我們可以設置一旦并發連接數超過我們的設置,將返回503錯誤給客戶端。這樣可以非常有效的防止CC攻擊。再配合 iptables防火墻,基本上CC攻擊就可以無視了。下面來看看詳細的介紹:

如何使用

conf配置

#統一在http域中進行配置#限制請求limit_req_zone $binary_remote_addr $uri zone=api_read:20m rate=50r/s;#按ip配置一個連接 zonelimit_conn_zone $binary_remote_addr zone=perip_conn:10m;#按server配置一個連接 zonelimit_conn_zone $server_name zone=perserver_conn:100m;server {  listen  80;  server_name report.52itstyle.com;  index login.jsp;  location / {    #請求限流排隊通過 burst默認是0    limit_req zone=api_read burst=5;    #連接數限制,每個IP并發請求為2    limit_conn perip_conn 2;    #服務所限制的連接數(即限制了該server并發連接數量)    limit_conn perserver_conn 1000;    #連接限速    limit_rate 100k;    proxy_pass  http://report;  }}upstream report {  fair;  server 172.16.1.120:8882 weight=1 max_fails=2 fail_timeout=30s;  server 172.16.1.120:8881 weight=1 max_fails=2 fail_timeout=30s;}

配置503錯誤

默認情況,超出限制額度,將會報503錯誤,提示:

503 Service Temporarily UnavailableThe server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later. Sorry for the inconvenience.Please report this message and include the following information to us.Thank you very much!

這樣顯示沒毛病,但是不夠友好,這里我們自定義503錯誤。

error_page 500 502 503 504 /50x.html;location = /50x.html { root html;#自定義50X錯誤}

配置說明

limit_conn_zone

是針對每個IP定義一個存儲session狀態的容器。這個示例中定義了一個100m的容器,按照32bytes/session,可以處理3200000個session。

limit_rate 300k;

對每個連接限速300k. 注意,這里是對連接限速,而不是對IP限速。如果一個IP允許兩個并發連接,那么這個IP就是限速limit_rate×2。

burst=5;

這相當于在檢查站req旁邊放5個座位。如果某個請求當時超過速度限制被攔了,請他在空座位上坐著,等排隊,如果檢查站空了,就可以通過。如果連座位都坐滿了,那就抱歉了,請求直接退回,客戶端得到一個服務器忙的響應。所以說burst跟request_rate一點關系都沒有,設成10000,就是1萬個請求可以等著排隊,而檢查站還是1秒鐘放行5個請求(龜速)。而且也不能一直排隊,所以nginx還設了超時,排隊超過一定時間,也是直接退回,返回服務器忙的響應。

以上配置Nginx需要配置以下模塊:

ngx_http_limit_conn_module (static)ngx_http_limit_req_module (static)

執行命令 nginx -V 就可以檢查到是否有安裝。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 老a影视网站在线观看免费 国产精品久久久久久久久久尿 | 亚洲精品久久久久久 | 做羞羞视频 | 蜜桃视频在线免费播放 | 色妞欧美| 撅高 自己扒开 调教 | 精品国产乱码一区二区三区四区 | 亚洲网站免费 | 午夜国产成人 | 暴力肉体进入hdxxxx古装 | 日韩av电影免费看 | 久草在线播放视频 | 蜜桃精品视频 | 精品国产一级毛片 | 精品一区二区三区日本 | 国产一区二区免费看 | 国产精品成人一区二区三区吃奶 | 久久性生活免费视频 | 黄色网址免费在线播放 | 精品国产一区二区三区久久久蜜 | 午夜性久久 | 欧美成人国产va精品日本一级 | 31freehdxxxx欧美 | 欧美亚洲国产成人 | 蜜桃视频在线免费播放 | 九九热视频这里只有精品 | 日本在线播放一区二区三区 | 在线播放中文 | 日本欧美中文字幕 | 黄视频免费在线观看 | 毛片大全在线观看 | 色戒在线版 | 国产午夜精品一区二区三区嫩草 | 一本色道久久综合亚洲精品图片 | 国产精品性夜天天视频 | 一区二区三区精品国产 | 日本免费一区二区三区四区 | ⅴideo裸体秀hd | 最新中文字幕第一页视频 | av电影在线免费观看 | 久久影院国产精品 |