Guida basata su un intervento sistemistico concluso e verificato. Rimozione sicura di regole RequestHeader che trasformavano Googlebot in un normale browser, con test sui vhost e sui reverse proxy.
Contesto
Durante un incidente IIS era stata introdotta una mitigazione temporanea: quando la richiesta dichiarava Googlebot, Apache sostituiva lo User-Agent con quello di un browser Chrome comune. Questo può aiutare temporaneamente a distinguere un problema di cloaking, ma nasconde al backend il vero User-Agent e rende meno affidabili log, analisi SEO e diagnosi.
Come individuare le regole
grep -RInE 'TC_GOOGLEBOT|RequestHeader[[:space:]]+set[[:space:]]+User-Agent|Googlebot' /etc/apache2/sites-available /etc/apache2/sites-enabled /etc/apache2/conf-enabled 2>/dev/null
Non rimuovere a caso le condizioni RewriteCond %{HTTP_USER_AGENT} usate per filtrare bot malevoli: cercare soltanto il workaround che sovrascrive l’header inoltrato al backend.
La regola temporanea
<IfModule mod_headers.c>
SetEnvIfNoCase User-Agent "Googlebot" TC_GOOGLEBOT=1
RequestHeader set User-Agent "Mozilla/5.0 (...)" env=TC_GOOGLEBOT
</IfModule>
La correzione consiste nella rimozione del blocco che definisce TC_GOOGLEBOT e modifica User-Agent, senza cambiare le altre ACL.
Procedura senza fermare i siti
Per ogni proxy: salvare prima i file interessati; correggere sia i file attivi sia gli omonimi in sites-available; verificare con apachectl -t; eseguire il reload; quindi controllare le risposte HTTP passando alternativamente uno User-Agent Googlebot e uno User-Agent browser. Se la configurazione attiva è una copia indipendente e non un symlink, è necessario allineare i due file deliberatamente.
Controllo funzionale
curl --max-time 8 -sS -o /dev/null -w '%{http_code} %{time_total}\n' -A 'Googlebot/2.1 (+http://www.google.com/bot.html)' -H 'Host: NOME_VHOST' http://IP_PROXY/
curl --max-time 8 -sS -o /dev/null -w '%{http_code} %{time_total}\n' -A 'Mozilla/5.0' -H 'Host: NOME_VHOST' http://IP_PROXY/
Esito del caso
Il workaround è stato rimosso dai quattro proxy, incluse alcune regole duplicate in un VirtualHost. I test con i due User-Agent hanno restituito i codici attesi e nessun timeout; i backend IIS erano già stati bonificati e reintrodotti nel bilanciatore.
Lezione
Una mitigazione di emergenza va tracciata e rimossa quando non serve più: lasciarla permanentemente può falsare osservabilità, risultati dei crawler e procedure di sicurezza.
Guide correlate
I comandi con nomi segnaposto vanno adattati al proprio ambiente. Le configurazioni di produzione, gli IP e le credenziali non sono riportati.