中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Nginx速率限流怎么配置

發布時間:2021-12-13 09:49:25 來源:億速云 閱讀:198 作者:iii 欄目:服務器

這篇文章主要介紹“Nginx速率限流怎么配置”,在日常操作中,相信很多人在Nginx速率限流怎么配置問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Nginx速率限流怎么配置”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

 1 簡介

Nginx作為微服務架構的流量接入層,主要使用 ngx_http_limit_req_module 模塊實現漏桶算法的請求速率的限制。主要流程如下:

Nginx-速率限流主要流程

Nginx-速率限流主要流程

Nginx速率限流的主要流程如下:

① 客戶端向Nginx發起請求

② Nginx近burst配置校驗

③ burst未配置,則直接進行速率(rate)校驗

④ 速率校驗超額,則返回指定錯誤碼給客戶端

⑤ 速率校驗未超額,則將請求轉發至后端服務器

⑥ burst配置了且大于0,則進行burst校驗

⑦ burst<max,則進行速率(rate)校驗

⑧ burst>max,則校驗延遲模式(nodelay)是否配置

⑨ 延遲模式已配置,則進入隊列進行等待被處理

⑩ 若未配置延遲模式,則直接返回503錯誤碼給客戶端

2 核心配置

2.1 limit_req

limit_req 主要用于配置限流區域、突發容量(默認為0)和是否延遲模式(默認為延遲模式)。

  • 使用語法

limit_req zone=[name] [burst=number] [nodelay];
  • 配置段

http,server,location

2.2 limit_req_zone

limit_req_zone 主要用于配置限流key、存放key對應信息的共享內存區域大小和固定請求速率。該功能只有Nginx version&ge;1.7.6的版本才被支持。

  • 使用語法

limit_req_zone [key] zone=[name]:[size] rate=[rate];
  • 配置段

http

2.3 limit_conn_log_level

limit_conn_log_level 主要用于配置被限流后的日志級別,默認為error級別。該功能只有Nginx version&ge;0.8.18的版本才被支持。

  • 使用語法

limit_conn_log_level info|notice|warn|error;
  • 配置段

http,server,location
  • 默認值

limit_conn_log_level error;

2.4 limit_conn_status

limit_conn_status 主要用于配置被限流后的返回的狀態,默認會返回503狀態碼。該功能只有Nginx version&ge;1.3.15的版本才被支持。

  • 使用語法

limit_conn_zone $variable zone=name:size;
  • 配置段

http
  • 默認值

limit_conn_status 503;

3 注意事項

凡事都具有兩面性,ngx_http_limit_req_module 模塊雖可以解決當前面臨的并發問題,但也會引入另外一些問題。如前端如果有做LVS或反向代理,而后端啟用了該模塊功能,那該機器的IP訪問會特別頻繁,從而導致經常出現503錯誤,但可以通過設置IP白名單來進行過濾解決該問題,簡單配置方式如:

location / {     # 允許一個IP的訪問     allow 10.1.1.16; }

4 配置案例

 # 根據客戶端IP地址進行統計,設置共享內存大小為20MB,設置固定速率大小為10r/s     limit_req_zone $binary_remote_addr zone=addr:20m rate=10r/s;     # 設置并發限流的日志級別為error     limit_conn_log_level error;     # 設置觸發并發限制時直接返回503狀態碼     limit_conn_status 503;      # ...      server{         # ...         location /limit{             # 設置每個IP的桶容量為10             # nodelay表示超額則立即返回503錯誤             # 沒有配置nodelay表示超過后請求就會排隊等待             limit_req zone=addr burst=10 nodelay;         }     } }

到此,關于“Nginx速率限流怎么配置”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

棋牌| 武川县| 运城市| 永宁县| 廊坊市| 镶黄旗| 谷城县| 葵青区| 秭归县| 彩票| 古浪县| 洛隆县| 贵定县| 贺州市| 旌德县| 财经| 松阳县| 视频| 石首市| 扎兰屯市| 冕宁县| 双城市| 宁南县| 抚顺市| 东兰县| 西畴县| 朝阳区| 栾城县| 湖州市| 林州市| 兴安县| 龙泉市| 英山县| 海阳市| 中西区| 镇平县| 资中县| 武隆县| 华容县| 福泉市| 增城市|