Назад | Перейти на главную страницу

Как мне диагностировать случайно повторяющиеся HTTP-запросы к приложению?

Я запускаю службу, которая представляет собой стороннее коммерческое веб-приложение за балансировщиками нагрузки haproxy. Некоторое время назад я начал видеть, как HTTP-запросы повторяются, как заикание - один и тот же запрос будет быстро повторяться много раз, пока приложение не упадет (так как его механизм сеанса не сможет справиться) или обнаружение атаки отказа в обслуживании сработает и заблокируется IP. И веб-сервер, и балансировщик нагрузки находятся на виртуальных машинах; Балансировщики нагрузки работают на паре машин Redhat 6 с отказоустойчивым кластером, а серверные части - на двух машинах redhat 6.

Кажется, что повторы всегда предназначены для функций, а не для файлов, и обычно не являются первым запросом с IP-адреса в сеансе.

Я рассмотрел ряд возможностей и почти исключил их:

Это не выглядит вредоносным, поскольку мы получали эти повторяющиеся запросы как из внутренней сети, так и с внешних IP-адресов (но не из локальной подсети). Поведение на ранних этапах сеанса с того же IP-адреса, как правило, похоже на нормальный трафик - и вероятность того, что мы блокируем законный трафик с помощью обнаружения атаки типа «отказ в обслуживании», - вот почему я считаю важным разобраться с этим.

Похоже, это не глючные версии браузеров. Хотя я обнаружил в Google, что это может происходить со старыми версиями Safari, и это основные виновники, другие браузеры также отображаются в файлах журнала с повторяющимися запросами.

Вероятно, дело не в балансировщиках нагрузки, так как повторяющиеся запросы появляются в журналах haproxy. (Я не совсем уверен в этом, так как точно не знаю, когда в процессе балансировки нагрузки создается строка журнала).

Дело не в виртуальной инфраструктуре, поскольку мы недавно перенесли сервис из одной виртуальной инфраструктуры в другую, и проблема не исчезла.

Стороннее приложение - это, по сути, инструмент поиска, выполняющий тысячи поисковых запросов в день. Многие из повторяющихся запросов являются поисковыми запросами, но они составляют очень небольшой процент (примерно один в день) практически идентичных запросов, выполненных без ошибок. Это также не проблема, которая поднималась в списке рассылки клиентов, в котором мы участвуем, и мы упомянули об этом поставщику, но вы не думаете, что это вина их приложения.

Я мог бы предоставить строки журнала, если люди захотят их увидеть, но я не думаю, что есть что-то особенное в задействованных запросах, поэтому я думаю, что это вряд ли поможет.

Любые предложения причин или способов диагностики того, что происходит, приветствуются!

Спасибо, Саймон