¿Es posible calificar el límite según los encabezados del host? es decir, no sólo en la dirección IP

¿Es posible calificar el límite según los encabezados del host? es decir, no sólo en la dirección IP

Tengo un punto final de servicio web que estoy construyendo en el que la gente publicará un archivo xml y realmente recibirá más de 1.000 solicitudes por segundo.

Ahora están enviando estos archivos xml a través de una publicación http, pero una buena mayoría de ellos tendrán una velocidad limitada.

El problema es que la aplicación web realizará la limitación de velocidad buscando el source_id en el xml, y si supera las x solicitudes por minuto, no se procesará más.

Me preguntaba si podría verificar el límite de velocidad antes en el procesamiento de alguna manera y así guardar el archivo de 50K que se envía a mis servidores web y consume recursos.

¿Podría un balanceador de carga realizar una llamada para verificar el uso de tarifas de alguna manera?

Si esto es posible, tal vez podría poner el source_id en un encabezado de host para que ni siquiera sea necesario analizar y cargar el archivo XML en la memoria.

¿Es posible simplemente mirar los encabezados del host y no cargar todo el archivo xml de 50K en la memoria?

Realmente aprecio sus ideas, ya que esto requiere más conocimiento de toda la pila tcp/ip, etc.

Respuesta1

Hay dos tipos básicos de posibilidades:

1) Estás tratando con atacantes hostiles que no cooperarán con tu diseño. En este caso, ¿por qué te importa qué Hostencabezado envían? Limitarlos por IP.

2) Está tratando con clientes que cooperan y le imponen más carga de la que usted desea. En este caso, simplemente acepte la solicitud y envíeles una respuesta indicándoles que den marcha atrás.

Si tiene una situación más complicada que no entra en una de estas dos categorías simples, la mejor solución probablemente dependerá de cuál sea esa situación.

Respuesta2

Puedes bloquearlo a través de Apache con módulos similares. O si desea eliminarlo antes, puede usar la coincidencia de cadenas de iptables para bloquear cosas mediante una expresión regular.

Respuesta3

Esto es lo que eltccomando/utilidad es para: requiere un poco de ejercicio, pero vale la pena el esfuerzo. Lo uso para calificar transferencias limitadas a un servidor en una DMZ fuera de nuestra LAN corporativa.

Aquí hay algunos enlaces que me orientaron...

Filtro Tc - Rangos de puertos Calcular valor de máscara: http://mailman.ds9a.nl/pipermail/lartc/2007q4/021739.html

Tasa de limitación de un solo host o máscara de red: http://lartc.org/howto/lartc.ratelimit.single.html

http://www.linuxquestions.org/questions/linux-networking-3/limit-bandwidth-rate-for-scp-using-tc-htb-linux-825684/

información relacionada