nginx: limitación del uso de ancho de banda por bloque de servidor

nginx: limitación del uso de ancho de banda por bloque de servidor

En Apache tenemos excelentes soluciones para limitar el uso de ancho de banda por vhost, como mod_bandwidth. Sin embargo, desde que comencé a usar nginx, no pude encontrar una manera de limitar y monitorear el uso del ancho de banda para cada bloque de servidor.

Me gustaría escuchar algunas sugerencias sobre monitorear y limitar el uso de ancho de banda por bloque de servidor en nginx.

Respuesta1

Puede utilizar limit_ratepara limitar el ancho de banda. Para mí, esto también funciona en la versión comunitaria de nginx.

Por ejemplo, el ancho de banda se puede limitar a 1000 bytes por segundo para todo el bloque del servidor de esta manera:

server {
    listen 80;

    location / {
        limit_rate 1k;
    }
}

Respuesta2

Nginx Plus tiene opciones integradas para limitar el ancho de banda por host.

Si desea lograrlo a través de la versión comunitaria de nginx, tiene 2 opciones: (Ya que solo incluye la agrupación de ancho de banda por IP).

1: Limite el ancho de banda de todo el proceso nginx, utilizando herramientas externas o ip-tables.

2: Sirve este contenido específico a través de un pase de proxy a lighttpd y configura un acelerador de servidor en lighttpd

server.kbytes-per-second = 6250

Si downloads.domain.net fuera lo que queremos acelerar, Lighthttpd tendría la siguiente configuración:

server.port = 81
server.document-root = "/path/to/downloads"
index-file.names = ( )

Nginx:

server {
    listen 80;
    server_name downloads.domain.net;

    location / {
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_pass http://127.0.0.1:81;
    }
}

Por supuesto, también puede utilizar proxy mediante archivos, carpetas, etc.

En última instancia: usar esto y también ip-table para limitar todo el tráfico del puerto 80 (y 443) es la solución definitiva en caso de que no desee superar un punto específico de ancho de banda. (Por ejemplo, los servicios VoIP pueden requerir un límite estricto en el tráfico http)

información relacionada