Como devo diagnosticar solicitações HTTP repetidas aleatoriamente para um aplicativo?

1

Estou executando um serviço que é um aplicativo comercial de terceiros por trás de balanceadores de carga haproxy. Um tempo atrás, comecei a ver solicitações http sendo repetidas, como uma falha - a mesma solicitação seria repetida rapidamente várias vezes até que o aplicativo caísse (como o mecanismo de sessão não conseguiu) ou a detecção de ataques de negação de serviço fosse acionada e bloqueada o IP. O servidor da web e o balanceador de carga estão em máquinas virtuais; os balanceadores de carga são executados em um par de redhat cluster de failover de 6 máquinas, enquanto os back-ends são duas redhat 6 máquinas.

As repetições parecem ser sempre para funções em vez de arquivos, e geralmente não são a primeira solicitação de um endereço IP em uma sessão.

Eu olhei para várias possibilidades e praticamente excluímo-las:

Ele não parece ser malicioso, pois recebemos essas solicitações repetidas de locais na rede interna e em IPs externos (mas não na sub-rede local). O comportamento anterior na sessão do mesmo IP geralmente é como o tráfego normal - e a probabilidade de estarmos bloqueando o tráfego legítimo com a detecção de ataques de negação de serviço é o motivo pelo qual consideramos importante resolver isso.

Não parece ser versões com erros dos navegadores. Embora eu tenha encontrado no Googling que isso pode acontecer com versões antigas do Safari, e esses são os principais culpados, outros navegadores também aparecem nos arquivos de log com solicitações repetidas.

Provavelmente não são os balanceadores de carga, pois as solicitações repetidas aparecem nos registros haproxy. (Eu não estou absolutamente certo sobre isso, como eu não sei precisamente quando no processo de balanceamento de carga uma linha de log é gerada).

Não é a infraestrutura virtual, pois migramos recentemente o serviço de uma infraestrutura virtual para outra, e o problema continuou do mesmo jeito.

O aplicativo de terceiros é basicamente uma ferramenta de pesquisa e lida com milhares de pesquisas por dia. Muitas das solicitações repetidas são solicitações de pesquisa, mas são uma porcentagem muito pequena (cerca de uma por dia) das solicitações essencialmente idênticas feitas sem erros. Também não é um problema que foi levantado pela lista de discussão do cliente em que estamos, e nós mencionamos isso ao fornecedor, mas você não acha que é uma falha de sua aplicação.

Eu poderia fornecer linhas de registro se as pessoas quiserem vê-las, mas não acho que haja algo diferente nas solicitações envolvidas, então acho que é improvável que isso ajude.

Qualquer sugestão de causas ou formas de diagnosticar o que está acontecendo é muito apreciada!

Obrigado Simon

    
por Simon McLeish 29.05.2017 / 09:51

0 respostas