Nginx não mostra cadeia de caracteres do agente do usuário

1

Eu tenho lidado com um problema em um dos meus servidores por um bom tempo agora. Em suma, o servidor recebe grandes picos de carga - até 50 - mas o site quase não recebe tráfego. Eu sei que isso pode estar relacionado a padrões de codificação ruins, grandes processos PHP e instruções MySQL mal formadas, entretanto o site é executado normalmente 90% do tempo.

Eu verifiquei os registros de acesso durante os picos e, na maioria das vezes, seu rastreador de sites desconhecido está tentando carregar um milhão de páginas de uma só vez e causando problemas.

Recentemente, porém, recebi registros de acesso que mostram algo semelhante a:

127.0.0.1 - - [13/Aug/2014:08:39:55 -0700] "GET /index.php HTTP/1.1" 200 20579 "-" "-"

onde não há string do agente do usuário. Com o qual eu normalmente não me importo, este agente de usuário desconhecido está solicitando centenas de páginas em poucos segundos, que começam com erros HTTP 200s e depois 499, e quando as sobrecargas do servidor recebem 502 e depois 503 erros. Por isso, não consigo bloqueá-lo no robots.txt ou em qualquer outra lista negra porque não tenho nada para bloquear / proibir.

A pilha é um padrão do Ubuntu, nginx, php-fpm, MySQL com cache Varnish.

Alguém sabe o que está acontecendo aqui?

    
por DavidT 13.08.2014 / 18:02

0 respostas