返回介绍

介绍

其他

How-To

开发

模块参考

ngx_stream_limit_conn_module

发布于 2024-08-13 23:46:26 字数 5469 浏览 0 评论 0 收藏 0

ngx_stream_limit_conn_module 模块(1.9.3)用于限制每个定义的 key 的连接数,特别是来自单个 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 number;
默认——
上下文stream、server

设置共享内存区域和给定 key 的最大允许连接数。超过此限制时,服务器将关闭连接。例如,以下指令:

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 info | notice | warn | error;
默认limit_conn_log_level error;
上下文stream、server

为服务器限制连接数设置日志记录级别。

limit_conn_zone

-说明
语法limit_conn_zone key zone=name:size;
默认——
上下文stream

为指定的共享内存区域设置参数,该区域将保留各种 key 的状态。尤其是状态包括当前的连接数。key 可以包含文本、变量及其组合(1.11.2)。不计算 key 为空的连接。用法示例:

limit_conn_zone $binary_remote_addr zone=addr:10m;

上述中,key 是一个 $binary_remote_addr 变量设置的客户端 IP 地址。$binary_remote_addr 的大小为 IPv4 地址的 4 个字节或 IPv6 地址的 16 个字节。存储状态在 32 位平台上总是占用 32 或 64 字节,在 64 位平台上占用 64 字节。一兆字节区域可以保留大约 32,000 个 32 字节状态或大约 16,000 个 64 字节状态。如果区域存储耗尽,服务器将关闭连接。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文