<!-- review: finished -->

<a id="stream-limit-conn"></a>

# Limit Conn

El módulo se utiliza para limitar el número de conexiones por clave definida, en particular, el número de conexiones desde una única dirección IP.

<a id="configuration-example-60"></a>

## Ejemplo de configuración

```nginx
stream {
    limit_conn_zone $binary_remote_addr zone=addr:10m;

    ...

    server {

        ...

        limit_conn           addr 1;
        limit_conn_log_level error;
    }
}
```

<a id="directives-69"></a>

## Directivas

<a id="index-0"></a>

<a id="s-limit-conn"></a>

### limit_conn

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `limit_conn` zone number;   |
|--------------------------------------------------------------------------------------------|-----------------------------|
| Predeterminado                                                                             | —                           |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | stream, server              |

Establece la zona de memoria compartida y el número máximo permitido de conexiones para un valor de clave dado. Cuando se excede este límite, el servidor cerrará la conexión. Por ejemplo, las directivas

```nginx
limit_conn_zone $binary_remote_addr zone=addr:10m;

server {
    ...
    limit_conn addr 1;
}
```

permiten solo una conexión por dirección IP a la vez.

Cuando se especifican varias directivas `limit_conn`, se aplicará cualquier límite configurado.

Estas directivas se heredan del nivel de configuración anterior si y solo si no hay directivas `limit_conn` definidas en el nivel actual.

<a id="index-1"></a>

<a id="s-limit-conn-dry-run"></a>

### limit_conn_dry_run

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `limit_conn_dry_run` `on` | `off`;   |
|--------------------------------------------------------------------------------------------|--------------------------------------|
| Predeterminado                                                                             | `limit_conn_dry_run off;`            |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | stream, server                       |

Habilita el modo de prueba. En este modo, el número de conexiones no está limitado, sin embargo, en la [zona de memoria compartida](#s-limit-conn-zone), el número de conexiones excesivas se contabiliza como de costumbre.

<a id="index-2"></a>

<a id="s-limit-conn-log-level"></a>

### limit_conn_log_level

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `limit_conn_log_level` `info` | `notice` | `warn` | `error`;   |
|--------------------------------------------------------------------------------------------|----------------------------------------------------------------|
| Predeterminado                                                                             | `limit_conn_log_level error;`                                  |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | stream, server                                                 |

Establece el nivel de registro deseado para los casos en que el servidor limita el número de conexiones.

<a id="index-3"></a>

<a id="s-limit-conn-zone"></a>

### limit_conn_zone

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `limit_conn_zone` key zone = name:size;   |
|--------------------------------------------------------------------------------------------|-------------------------------------------|
| Predeterminado                                                                             | —                                         |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | stream                                    |

Establece parámetros para una zona de memoria compartida que mantendrá estados para varias claves. En particular, el estado incluye el número actual de conexiones. La clave puede contener texto, variables y sus combinaciones. Las conexiones con un valor de clave vacío no se contabilizan.

Ejemplo de uso:

```nginx
limit_conn_zone $binary_remote_addr zone=addr:10m;
```

Aquí, la dirección IP del cliente se establece mediante la variable `$binary_remote_addr`.

El tamaño de `$binary_remote_addr` es de 4 bytes para direcciones IPv4 o 16 bytes para direcciones IPv6. El estado almacenado siempre ocupa 32 o 64 bytes en plataformas de 32 bits y 64 bytes en plataformas de 64 bits.

Una zona de un megabyte puede mantener alrededor de 32 mil estados de 32 bytes o alrededor de 16 mil estados de 64 bytes. Si el almacenamiento de la zona se agota, el servidor cerrará la conexión.

<a id="built-in-variables-19"></a>

## Variables integradas

<a id="v-s-limit-conn-status"></a>

### `$limit_conn_status`

mantiene el resultado de limitar el número de conexiones: `PASSED`,
`REJECTED` o `REJECTED_DRY_RUN`
