ngx_stream_limit_conn_module
Module ngx_stream_limit_conn_module
- 示例配置
- 指令
- limit_conn
- limit_conn_log_level
- limit_conn_zone
所述ngx_stream_limit_conn_module
模块(1.9.3)被用于限制每个定义的键连接的数量,尤其是,从一个单一的IP地址的连接的数量。
示例配置
stream {
limit_conn_zone $binary_remote_addr zone=addr:10m;
...
server {
...
limit_conn addr 1;
limit_conn_log_level error;
}
}
指令
句法: | limit_conn区号; |
---|---|
默认: | — |
语境: | 流,服务器 |
设置给定键值的共享内存区域和最大允许连接数。超过此限制时,服务器将关闭连接。例如,指令
limit_conn_zone $binary_remote_addr zone=addr:10m;
server {
...
limit_conn addr 1;
}
一次只允许每个IP地址一个连接。
当limit_conn
指定几个指令时,将应用任何配置的限制。
当且仅当limit_conn
在当前级别上没有指令时,指令才从前一级继承。
句法: | limit_conn_log_level信息| 通知| 警告| 错误; |
---|---|
默认: | limit_conn_log_level错误; |
语境: | 流,服务器 |
当服务器限制连接数时,设置所需的日志记录级别。
句法: | limit_conn_zone key zone = name:size; |
---|---|
默认: | — |
语境: | 流 |
为共享内存区域设置参数,该区域将保留各种键的状态。特别是,该状态包含当前的连接数。该key
可以包含文本,变量,以及它们的组合(1.11.2)。不包含具有空键值的连接。用法示例:
limit_conn_zone $binary_remote_addr zone=addr:10m;
这里,密钥是由$binary_remote_addr
变量设置的客户端IP地址。$binary_remote_addr
IPv4地址的大小为4个字节,IPv6地址的大小为16个字节。存储状态在32位平台上始终占用32或64个字节,在64位平台上占用64个字节。一个兆字节的区域可以保持大约32000个32字节的状态或大约16000个64字节的状态。如果区域存储耗尽,服务器将关闭连接。