如何使用Nginx防止流量攻擊

2021-03-16    分類: 網站建設

大家都知道服務器資源有限的,但是客戶端來的請求是無限的(不排除惡意攻擊), 為了保證大部分的請求能夠正常響應,不得不放棄一些客戶端來的請求,所以我們會采用Nginx的限流操作, 這種操作可以很大程度上緩解服務器的壓力, 使其他正常的請求能夠得到正常響應。當然如果你經常遭受惡意流量攻擊,我建議你選擇CDN+快?云抗D。

如何使用Nginx防止流量攻擊

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

如何使用?

1、conf配置


  1. #統一在http域中進行配置
  2. #限制請求
  3. limit_req_zone $binary_remote_addr $uri zone=api_read:20m rate=100r/s;
  4. #按ip配置一個連接 zone
  5. limit_conn_zone $binary_remote_addr zone=perip_conn:10m;
  6. #按server配置一個連接 zone
  7. limit_conn_zone $server_name zone=perserver_conn:100m;
  8. server {
  9.  listen 80;
  10.  server_name test.domain.com;
  11.  index login.do;
  12.  location / {
  13.  #請求限流排隊通過 burst默認是0
  14.  limit_req zone=api_read burst=5;
  15.  #連接數限制,每個IP并發請求為2
  16.  limit_conn perip_conn 2;
  17.  #服務所限制的連接數(即限制了該server并發連接數量)
  18.  limit_conn perserver_conn 1000;
  19.  #連接限速
  20.  limit_rate 100k;
  21.  proxy_pass http://test;
  22.  }
  23. }
  24. upstream report {
  25.  fair;
  26.  server 172.16.0.10:8882 weight=1 max_fails=2 fail_timeout=30s;
  27.  server 172.16.0.10:8881 weight=1 max_fails=2 fail_timeout=30s;
  28. }

2、配置503錯誤

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


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

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


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

3、配置說明

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 就可以檢查到是否有安裝。

標題名稱:如何使用Nginx防止流量攻擊
鏈接分享:http://m.kartarina.com/news11/105311.html

成都網站建設公司_創新互聯,為您提供動態網站手機網站建設App開發建站公司網站策劃外貿建站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

商城網站建設
主站蜘蛛池模板: 日韩人妻无码一区二区三区99| 中文字幕人妻三级中文无码视频| 亚洲AV无码一区二区三区在线| 无码毛片内射白浆视频| 内射人妻少妇无码一本一道 | 无码国产精品一区二区免费16| 蜜芽亚洲av无码精品色午夜| 嫩草影院无码av| 人妻aⅴ无码一区二区三区| 在线无码视频观看草草视频| 欧洲成人午夜精品无码区久久 | 午夜不卡无码中文字幕影院| 亚洲av无码专区在线观看亚| 亚洲AV无码精品无码麻豆| 亚洲免费无码在线| 无码亚洲成a人在线观看| 狠狠躁天天躁中文字幕无码| 亚洲AV成人无码网站| 精品爆乳一区二区三区无码av| 国产成人无码A区在线观看导航| 精品无码久久久久久尤物| 少妇人妻偷人精品无码视频新浪 | 国产成人无码AV在线播放无广告 | 99精品人妻无码专区在线视频区 | 国产精品午夜无码av体验区| 无码h黄动漫在线播放网站| 人妻丰满熟妇aⅴ无码| 四虎影视无码永久免费| 日日日日做夜夜夜夜无码| 亚洲一级特黄无码片| 日韩少妇无码喷潮系列一二三 | 天堂无码在线观看| 在线观看无码不卡AV| 在线观看无码AV网站永久免费| 久久久久久久无码高潮| 日韩人妻无码精品久久免费一| 亚洲欧洲精品无码AV| 日韩精品专区AV无码| 精品日韩亚洲AV无码一区二区三区 | 中文字幕久无码免费久久| 日韩AV无码一区二区三区不卡 |