Come gestire l'elevato traffico "Altro" improvviso nell'analisi del sito?

Ciao a tutti,

Recentemente ho notato un enorme picco di “Altro traffico” nella pagina di salute della community del mio forum (dashboard admin di Discourse → Report → Salute della community).

Ecco i dettagli:

  • Periodo: Intorno all’inizio di agosto 2025
  • Traffico giornaliero: saltato a oltre 100.000 di “Altro traffico” al giorno
  • Esempio: Il 16 agosto 2025
  • Visualizzazioni di pagina con accesso effettuato: 12.531
  • Visualizzazioni di pagina anonime: 2.753
  • Crawler conosciuti: 6.865
  • Altro traffico: 102.054 (la maggior parte del mio totale di 124.000)

Questo “Altro traffico” sembra anomalo ed è molto più alto dell’attività degli utenti reali. Le iscrizioni sono stabili, quindi non sembra una crescita genuina.

Le mie domande sono:

  1. Cosa significa solitamente “Altro traffico” in Discourse?
  2. Potrebbe trattarsi di bot, spam o un reverse proxy/CDN mal configurato?
  3. Come posso ridurre o filtrare questo traffico? (ad esempio, Nginx, firewall, impostazioni di Discourse)
  4. È sicuro ignorarlo, o influenzerà le prestazioni/i costi?

Qualsiasi suggerimento o best practice per gestire correttamente questo tipo di traffico di terze parti/bot sarebbe molto utile.

Grazie in anticipo!

1 Mi Piace

“Altro traffico” sono probabilmente bot o crawler, maggiori dettagli qui Understanding pageviews and the site traffic report
Puoi controllare il report dei crawler sulla tua dashboard per una possibile fonte e, se lo desideri, rallentarlo o bloccarlo… maggiori dettagli su come farlo in: Controlling Web Crawlers For a Site

2 Mi Piace

Ho avuto problemi a luglio con tonnellate di richieste da Singapore. Ho bloccato un intervallo di IP, che ha funzionato per un po’, ma il problema è tornato più forte ad agosto (da Singapore, Hong Kong e Messico) con costi CDN elevati e imprevisti :face_with_steam_from_nose:

Ho notato un elevato numero di visualizzazioni di pagine da Amazonbot, DataForSeoBot, meta-externalagent, SeekportBot, ecc…

Questa documentazione Controlling Web Crawlers For a Site dice:

Questo elenco non contiene alcuni dei miei bot più visitati, ma ho comunque una domanda.
Sarebbe consigliabile aggiungere l’intero elenco all’impostazione Agenti utente crawler bloccati?
Esiste un modo per aggiungere in blocco i nomi dei bot da un file .txt?

1 Mi Piace
  1. I crawler arrivano con l’intenzione di indicizzare il tuo sito nei motori di ricerca, quindi l’aumento del traffico da parte loro dovrebbe essere minimo, a meno che non si tratti di bot che si nascondono come crawler. Molti forum non vogliono essere indicizzati dai crawler e questa è l’opzione per farlo: I crawler portano un’identità/riferimento alla loro origine, quindi qui puoi aggiungere qualsiasi nome desideri che consentirà solo a questa origine per il crawling (ahah, una parola così strana :slight_smile: )

  2. La fonte più probabile responsabile dell’aumento del traffico sono i bot e devi controllare i log del tuo server per questo. Se conosci qualcuno che conosce solo le basi di Linux, suggerirei questo strumento di configurazione di 2 minuti per bloccare i paesi con reputazioni negative per i bot (potresti trovarlo facilmente online). Dopo la configurazione, è comunque bene informare la tua community che potrebbe aver bisogno di una VPN per raggiungere il tuo sito se si trova in vacanza in quei paesi. Ecco lo strumento, è efficiente, ridurrà dell’80-90% le richieste non necessarie al tuo server. Hai 2 modalità e devi scegliere una delle due: paesi consentiti o paesi proibiti.

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

  3. Puoi anche usare Geo Blocking plugin ma blocca solo la visualizzazione della pagina, ma non le richieste dirette al tuo server come fa lo strumento sopra.

1 Mi Piace

Beh, immagino che questo non risolverebbe il mio problema, perché i bot consumeranno comunque la larghezza di banda della CDN.

1 Mi Piace

Sei assolutamente sicuro? Perché se fosse vero, inizierei subito con un reverse proxy.

Modifica

L’IA qui ha detto lo stesso. Quindi, sarà un reverse proxy.

Risposta AI

Il plugin GeoBlock per Discourse utilizza il database MaxMindDB per determinare il paese o la rete (ASN) di un utente in base al suo indirizzo IP, ma il blocco effettivo avviene a livello di applicazione (all’interno dell’app Discourse), non a livello di server o di rete/firewall.

In pratica:

  • Se l’IP di un visitatore corrisponde a un paese o a una rete bloccata, l’applicazione Discourse restituisce una pagina di errore al visitatore invece dei contenuti del forum.
  • Il blocco non avviene finché la richiesta HTTP non raggiunge l’applicazione Discourse. In altre parole, le richieste passano ancora attraverso il tuo web server (ad esempio, nginx) e il container Docker e raggiungono il software Discourse prima che l’utente venga bloccato.
  • Ciò significa che vedrai ancora queste richieste nei log del tuo server e del proxy/nginx, anche se l’utente viene infine bloccato da Discourse.
  • Se richiedi un blocco “hard” (impedendo l’accesso anche prima che la richiesta raggiunga l’app Discourse), avresti bisogno di una soluzione GeoIP a livello di server (come il blocco a livello di nginx/iptables o uno strumento esterno).

Fonti e maggiori informazioni:

Riepilogo:
Il plugin Discourse GeoBlock non blocca le richieste a livello di rete/server, ma solo dopo che l’applicazione Discourse ha elaborato la richiesta. Se è necessario impedire qualsiasi accesso prima che la tua applicazione veda la richiesta, devi utilizzare un approccio GeoIP a livello di server.

Non ho usato share conversation perché ho chiesto in finlandese e probabilmente voi non potete capirlo :winking_face_with_tongue:

1 Mi Piace

Implica che la tua pagina venga raggiunta, quindi sì, sei a un livello più vicino al server rispetto a un blocco a livello di firewall, tuttavia non significa che si tratti di un problema di sicurezza che richiede un proxy inverso.
Lo strumento che ho proposto è già l’80% in meno di richieste e Discourse è un’app sicura, ora se hai altre cose ospitate sul tuo server come un sito web, un proxy inverso potrebbe essere utile, nel frattempo ci sono altre soluzioni per bloccare IP con cattive reputazioni come Crowdsec, chiedi alla tua IA di Crowdsec light :wink:

2 Mi Piace

(autore del plugin geoblocking)
Sì, il plugin geoblocking interrompe le richieste a livello di applicazione, anche se lo fa in una fase molto precoce. Il motivo è che è stato progettato per mostrare una pagina di errore user-friendly, quindi deve essere in grado di caricare le risorse di Discourse e mostrare quella pagina. Registra inoltre eventuali blocchi in /logs se configurato per farlo.

Altri vantaggi di questo approccio sono la possibilità di configurare i paesi e le reti bloccate da Discourse e la possibilità non solo di bloccare l’accesso ma anche di forzare la moderazione.

Se sei preoccupato per l’inflazione dei log o il consumo di larghezza di banda della CDN, il plugin non fa per te, ma onestamente non penso che queste due cose contino molto.

1 Mi Piace

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