nginx作為正向和反向代理服務器限制http請求連接數
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
ngx_http_limit_conn_module模塊1. ngx_http_limit_conn_module模塊根據設置的鍵值來限制連接數量,如:根據配置的IP地址來限制連接數量。 2. 只有正在被服務器處理并且請求頭已經被讀取的連接才會被計算成限制的數量。 limit_conn_zone指令1. 設置一塊內存區(qū)域,存儲鍵狀態(tài)信息和當前的連接數量。 2. 只能在http塊中設置,語法為 3. key可以為文本、變量、文本和變量的組合。1.7.6以前的版本只能包含一個變量。
limit_conn和limit_conn_status指令1. limit_conn指令用于限制指定鍵值的最大連接數量和共享內存區(qū)域。 2. 如果連接超過限制服務器返回拒絕請求錯誤,默認返回狀態(tài)碼為503(可通過limit_conn_status指令自定義設置錯誤狀態(tài)碼) 3. 在HTTP/2和HTTP/3中每個并發(fā)請求都是一個獨立連接。 4. 語法: 5. 可配置塊: 6. 如,限制每個IP同一時間只允許1個連接:
7. 測試:jmeter中1秒內啟動5個線程請求同一個資源(請求的圖片約10M確保占用連接時間較長) 因為 修改限制,同一IP同一時間允許3個連接,自定義拒絕請求的錯誤狀態(tài)碼為500,設置如下:
調整后5個請求中3個成功,錯誤狀態(tài)碼變?yōu)?00,如下圖: 8. limit_conn指令可配置多個,這些指令同時生效,如:
9. limit_conn指令會覆蓋上級配置塊中的設置,只有當本級配置塊中沒有出現limit_conn指令才會從上級塊中繼承。 limit_conn_log_level指令1. 用于設置連接超限后的日志記錄級別。 2. 語法為 調整日志級別:
閱讀原文:原文鏈接 該文章在 2025/7/1 23:44:44 編輯過 |
關鍵字查詢
相關文章
正在查詢... |