nginx限流配置

Posted maoxianfei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx限流配置相关的知识,希望对你有一定的参考价值。

一、前言

为了防止访问服务器的流量超过服务器最大承载量,需要对服务器访问流量进行限制,因为业务访问通过nginx进行转发,所以采取nginx配置进行限流操作。使用了nginx自带的两个模块ngx_http_limit_conn_module,ngx_http_limit_req_module进行限流,具体参考来源官网文档。

http://nginx.org/en/docs/http/ngx_http_limit_req_module.html

http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html

二、nginx详细配置

方法一:ngx_http_limit_req_module

配置实例
http { limit_req_zone $binary_remote_addr zone
=one:10m rate=1r/s; ... server { ... location /search/ { limit_req zone=one burst=5; }

以上配置只针对/search 业务有效,如果需要配置所有业务需要将 limit_req zone=one burst=5; 放置到http 段。

方法二:ngx_http_limit_conn_module

http{
    #限流
    limit_conn_log_level error;#限流log输出级别
    limit_conn_status 503;#限流返回状态码
    limit_conn_zone $server_name zone=perserver:10m;# 设置变量存储空间
    limit_conn_zone $binary_remote_addr zone=addr:10m;#设置变量存储空间
    limit_conn addr 100;#最大同时连接数,根据需求设置。
}

 


以上是关于nginx限流配置的主要内容,如果未能解决你的问题,请参考以下文章

Nginx限流

Nginx限流配置

nginx 限流功能

Nginx限流和黑名单配置

Nginx 限流配置

图解Nginx限流配置