Eu preciso bloquear um monte de robôs de rastrear algumas centenas de sites hospedados em um servidor web Nginx rodando em uma máquina Ubuntu 16.04.
Eu encontrei um exemplo bastante simples aqui (parte importante do código está abaixo), mas parece que esta funcionalidade está disponível apenas dentro de um bloco de servidor (por causa da instrução IF) e eu acho que esta é uma idéia horrível, especialmente com um grande número de sites na máquina.
if ($http_user_agent ~* (ahrefs|wget|crawler|majestic) ) {
return 403;
}
Então, a pergunta é algo semelhante pode ser alcançado a partir do arquivo nginx.conf
principal e trabalhar para todos os domínios atualmente definidos na pasta sites-enabled
e os adicionados no futuro?
Eu também li sobre a abordagem do mapa e encontrei um projeto inteiro no GitHub que o usa - link mas ainda requer a edição de todos os arquivos na pasta sites-enabled
e isso levará muito tempo para algumas centenas de sites já em execução.
Tags nginx ubuntu blocking web-crawler