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.