Managing IP request rate limits in Discourse

Discourse implementa límites de tasa globales por IP para proteger los sitios del tráfico excesivo y el abuso. Sin embargo, existen escenarios legítimos en los que necesita incluir en la lista blanca IPs específicas para omitir estos límites de tasa. Esta guía explica cómo configurar excepciones para la limitación de tasa en instalaciones de Discourse autoalojadas.

Añadir direcciones IP a la lista blanca

Cuando necesite aumentar los límites de tasa globales por IP para IPs o rangos de IP específicos, deberá modificar su archivo de configuración del contenedor (app.yml) añadiendo la variable de entorno DISCOURSE_MAX_REQS_PER_IP_EXCEPTIONS.

Advertencia: Recuerde que aunque la variable diga “IP”, en realidad significa “cubo”, por lo que podría ser una IP, un usuario, o algo más si un nuevo tipo de clasificación es añadido por un plugin.

Añadir una única dirección IP

Para añadir una única dirección IP a su lista blanca:

DISCOURSE_MAX_REQS_PER_IP_EXCEPTIONS: 192.168.1.100

Esto eximirá a la dirección IP 192.168.1.100 de las reglas estándar de limitación de tasa.

Añadir múltiples direcciones IP o rangos CIDR

Para múltiples IPs o rangos de IP utilizando notación CIDR, use el formato multilínea con la sintaxis YAML >-:

DISCOURSE_MAX_REQS_PER_IP_EXCEPTIONS: >-
  10.0.0.0/24
  172.16.10.0/16
  192.168.1.50
  2001:db8:c0:ffee::/64

Esta configuración exime:

  • toda la red 10.0.0.0/24 (256 direcciones IP)
  • toda la red 172.16.10.0/16 (65.536 direcciones IP)
  • la única dirección IP 192.168.1.50
  • toda la red 2001:db8:c0:ffee::/64 (IPv6)

:warning: Asegúrese del formato YAML correcto, especialmente al usar la sintaxis multilínea con >-.

Reconstruir

Después de modificar la configuración del contenedor, deberá reconstruir el contenedor para que los cambios surtan efecto:

cd /var/discourse
./launcher rebuild app

Consideraciones de seguridad

Tenga cuidado al añadir direcciones IP a la lista blanca. Cada IP o rango exento omite la protección integrada de Discourse contra el abuso y el tráfico excesivo.

Mejores prácticas:

  • Solo incluya en la lista blanca las IPs que tengan una necesidad comercial legítima (por ejemplo, servicios de monitorización, integraciones de API, socios de confianza).
  • Utilice los rangos de IP más específicos posibles en lugar de redes grandes.
  • Revise periódicamente su lista blanca y elimine las IPs que ya no requieran exención.

Recuerde: una lista blanca demasiado permisiva puede exponer su sitio a posibles abusos o escenarios de denegación de servicio.

Solución de problemas

Si sigue experimentando errores de limitación de tasa a pesar de haber configurado excepciones:

  1. verifique que se estén utilizando las direcciones IP correctas en su configuración.
  2. compruebe que el contenedor se reconstruyó correctamente después del cambio de configuración.
  3. examine los registros de Discourse en busca de mensajes de limitación de tasa relacionados con las IPs en cuestión.
  4. si está utilizando un proxy/balanceador de carga, asegúrese de que esté reenviando correctamente la IP original del cliente.
5 Me gusta