Cómo lidiar con un alto tráfico "Otro" repentino en los análisis del sitio?

Hola a todos,

Recientemente noté un gran aumento en el “Otro tráfico” en la página de salud de la comunidad de mi foro (panel de administración de Discourse → Informes → Salud de la comunidad).

Aquí están los detalles:

  • Período: Alrededor de principios de agosto de 2025
  • Tráfico diario: saltó a más de 100.000 de “Otro tráfico” por día
  • Ejemplo: El 16 de agosto de 2025
  • Vistas de página de usuarios registrados: 12.531
  • Vistas de página anónimas: 2.753
  • Crawlers conocidos: 6.865
  • Otro tráfico: 102.054 (la mayoría de mi total de 124.000)

Este “Otro tráfico” parece anormal y es mucho mayor que la actividad de usuarios reales. Las inscripciones son estables, por lo que no parece un crecimiento genuino.

Mis preguntas son:

  1. ¿Qué significa normalmente “Otro tráfico” en Discourse?
  2. ¿Podrían ser bots, spam o un proxy inverso/CDN mal configurado?
  3. ¿Cómo puedo reducir o filtrar este tráfico? (por ejemplo, Nginx, firewall, configuraciones de Discourse)
  4. ¿Es seguro simplemente ignorarlo, o afectará el rendimiento/costo?

Cualquier sugerencia o mejores prácticas para manejar adecuadamente este tipo de tráfico de terceros/bots sería muy útil.

¡Gracias de antemano!

1 me gusta

“Otro tráfico” son probablemente bots o rastreadores, más detalles aquí Understanding pageviews and the site traffic report
Puede consultar el informe de rastreadores en su panel para ver una posible fuente y, si lo desea, ralentizarlo o bloquearlo… más detalles sobre cómo hacerlo en: Controlling Web Crawlers For a Site

2 Me gusta

He tenido problemas en julio con muchísimas solicitudes de Singapur. Bloqueé un rango de IP, lo que funcionó durante un tiempo, pero el problema volvió con más fuerza en agosto (desde Singapur, Hong Kong y México) con un coste de CDN alto e inesperado :face_with_steam_from_nose:

Noté muchas visitas de Amazonbot, DataForSeoBot, meta-externalagent, SeekportBot, etc…

Esta documentación Controlling Web Crawlers For a Site dice:

Esta lista no contiene algunos de mis bots más visitantes, pero aun así tengo una pregunta.
¿Sería recomendable añadir toda esta lista a la configuración de Agentes de usuario de rastreadores bloqueados?
¿Hay alguna forma de añadir nombres de bots en bloque desde un archivo .txt?

1 me gusta
  1. Los rastreadores vienen con la intención de indexar tu sitio en los motores de búsqueda, por lo que el aumento de tráfico de ellos debería ser mínimo, excepto si se trata de bots que se hacen pasar por rastreadores. Muchos foros no quieren ser indexados por rastreadores y esta es la opción para hacerlo: Los rastreadores llevan una identidad/referencia a su fuente, así que aquí puedes añadir cualquier nombre que quieras que solo permita esta fuente para el rastreo (¡ja, ja, qué palabra tan extraña! :slight_smile: )

  2. La fuente más probable responsable del aumento de tu tráfico son los bots y debes revisar los registros de tu servidor para ello. Si conoces a alguien que solo sabe lo más básico de Linux, le sugeriría esta herramienta de configuración de 2 minutos para bloquear países que tienen mala reputación de bots. (Puedes encontrar esto fácilmente en línea). Una vez configurada, sigue siendo bueno informar a tu comunidad que es posible que necesiten una VPN para acceder a tu sitio si terminan de vacaciones en esos países. Aquí tienes la herramienta, es eficiente, reducirá en un 80-90% las solicitudes innecesarias a tu servidor. Tienes 2 modos y debes elegir uno: países permitidos o países prohibidos.

    GitHub - friendly-bits/geoip-shell: User-friendly and versatile geoblocker for Linux

  3. También puedes usar Geo Blocking plugin pero solo bloquea la visualización de la página, no las solicitudes directas a tu servidor como lo hace la herramienta anterior.

1 me gusta

Bueno, supongo que eso no resolvería mi problema, porque los bots consumirán ancho de banda de la CDN de todos modos.

1 me gusta

¿Estás totalmente seguro de eso? Porque si es así, empezaré un proxy inverso de inmediato.

Editar

La IA aquí dijo lo mismo. Entonces, será un proxy inverso.

Respuesta de la IA

El plugin GeoBlock para Discourse utiliza la base de datos MaxMindDB para determinar el país o la red (ASN) de un usuario basándose en su dirección IP, pero el bloqueo real ocurre a nivel de aplicación (dentro de la aplicación Discourse), no a nivel de servidor o de red/cortafuegos.

En la práctica:

  • Si la IP de un visitante coincide con un país o red bloqueados, la aplicación Discourse devuelve una página de error al visitante en lugar del contenido del foro.
  • El bloqueo no ocurre hasta que la solicitud HTTP llega a la aplicación Discourse. En otras palabras, las solicitudes todavía pasan a través de tu servidor web (por ejemplo, nginx) y el contenedor Docker y llegan al software Discourse antes de que el usuario sea bloqueado.
  • Esto significa que todavía verás estas solicitudes en los registros de tu servidor y proxy/nginx, incluso si el usuario es finalmente bloqueado por Discourse.
  • Si necesitas un bloqueo “duro” (que impida el acceso incluso antes de que la solicitud llegue a la aplicación Discourse), necesitarías una solución GeoIP a nivel de servidor (como el bloqueo a nivel de nginx/iptables o una herramienta externa).

Fuentes e más información:

Resumen:
El plugin Discourse GeoBlock no bloquea las solicitudes a nivel de red/servidor, sino solo después de que la aplicación Discourse procesa la solicitud. Si necesitas evitar cualquier acceso antes de que tu aplicación vea la solicitud, debes usar un enfoque GeoIP a nivel de servidor.

No usé share conversation porque pregunté en finlandés y probablemente no podéis entenderlo :winking_face_with_tongue:

1 me gusta

Implica que tu página es alcanzada, por lo que sí estás en una capa más cercana al servidor que un bloqueo a nivel de firewall, sin embargo, no significa que sea un problema de seguridad que requiera un proxy inverso.
La herramienta que propuse ya reduce las solicitudes en un 80% y Discourse es una aplicación segura, ahora si tienes otras cosas alojadas en tu servidor como un sitio web, un proxy inverso puede ser útil, mientras tanto existen otras soluciones para bloquear IPs con malas reputaciones como Crowdsec, pregúntale a tu IA sobre Crowdsec light :wink:

2 Me gusta

(autor del plugin de geobloqueo aquí)
Sí, el plugin de geobloqueo detiene las solicitudes en el nivel de aplicación, aunque lo hace en una etapa muy temprana. La razón de esto es que fue diseñado para mostrar una página de error fácil de usar, por lo que debe poder cargar los activos de Discourse y mostrar esa página. También registra cualquier bloqueo en /logs si está configurado para hacerlo.

Otras ventajas de este enfoque son la capacidad de configurar los países y redes bloqueados desde dentro de Discourse y la capacidad de no solo bloquear el acceso, sino también forzar la moderación.

Si te preocupa la inflación de registros o el consumo de ancho de banda de la CDN, el plugin no es para ti, pero sinceramente, no creo que estas dos cosas importen mucho.

1 me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.