Come limitare la frequenza di scansione del motore di ricerca Baidu

Utilizzare il modulo ngx_http_limit_req_module di nginx

Per limitare la frequenza di scansione del crawler di Baidu, è possibile utilizzare il modulo ngx_http_limit_req_module di nginx. Questo modulo può aiutare a controllare la frequenza di accesso del crawler, alleviando così la pressione sul server.

Configurare nginx

È necessario eseguire alcune impostazioni nel file di configurazione di nginx per limitare la frequenza di scansione del crawler di Baidu. Aggiungere il seguente contenuto nella configurazione globale:

limit_req_zone $anti_spider zone=anti_spider:60m rate=200r/m;

Aggiungere la seguente configurazione in un server:

limit_req zone=anti_spider burst=5 nodelay;if ($http_user_agent ~* ":baiduspider:") {set $anti_spider $http_user_agent;}

Spiegazione dei parametri

Nella configurazione sopra, ci sono alcuni parametri che necessitano di spiegazione:

rate=200r/m:Indica che è possibile gestire solo 200 richieste al minuto.

burst=5:Indica che la massima concorrenza è di 5, cioè è possibile gestire solo 5 richieste contemporaneamente.

nodelay:Indica che quando si raggiunge il numero massimo di richieste concorrenti, viene restituito direttamente un errore 503.

Parte IF:Serve per determinare se la richiesta proviene dal crawler di Baidu, e in tal caso, assegna un valore alla variabile $anti_spider per limitarne l'accesso.

Attraverso la configurazione sopra, è possibile limitare efficacemente la frequenza di scansione del ragno di Baidu, evitando di sovraccaricare il server.