loader
СГБ - Сологуб
Заказать услуги

Материалы с меткой: парсер

25.09.2026 в 08:59 Читать ~ 1 минуту 20
0ответов
Example blog post alt

Оговорка: Это не техническое руководство и не универсальное решение — просто рассказ об одном конкретном случае из повседневной работы. У вас проблема может выглядеть похоже, но причина и решение будут своими: логи всегда стоит смотреть отдельно для каждого сервера.

Классика жанра: клиент пишет «мы ничего не трогали, сайт сам сломался». И знаете что? В этот раз он даже почти прав. Сайт действительно ничего не делал. А вот кое-кто другой — делал, и очень усердно.

Лезем в логи nginx и PHP-FPM и видим одного до боли настойчивого посетителя: IP, протокол HTTP/1.0, никакого нормального User-Agent, и заход буквально на все поддомены сайта подряд — Щёлково, Рубцовск, Новошахтинск, Бийск, Орск, Тула, и ещё десяток городов — с интервалом в доли секунды между запросами. Ни один живой человек так по сайту не бегает, даже если очень торопится.

Дальше начинается самое интересное — что происходит внутри сервера, пока снаружи бот весело перебирает города. PHP-FPM пытается обслужить лавину запросов и в какой-то момент говорит нам прямо, без дипломатии:

 connect() to unix:/var/www/php-fpm/15.sock failed (11: Resource temporarily unavailable) — очередь к пулу забита, воркерам конца не видно
upstream timed out (110: Connection timed out) — те воркеры, что успели подключиться, не успевают ответить за отведённое время
limit_req: срабатывание зоны «СУПЕР_САЙТ_КЛИЕНТАю» — nginx честно пытается притормозить поток, но лимит явно рассчитан не на такую наглость

Что с этим делать, если не хочется повторения

  • Заблокировать или ограничить конкретный IP (и проверить, не прячется ли за ним целая подсеть) — самый быстрый способ прекратить конкретно этот забег
  • Увеличить pm.max_children и listen.backlog в пуле PHP-FPM, чтобы очередь не переполнялась от одного настойчивого гостя
  • Настроить limit_req жёстче для запросов без нормального User-Agent — боты обычно этим и выдают себя
  • Поставить перед сайтом WAF или CDN с защитой от ботов, чтобы такие набеги резались до того, как доберутся до PHP-FPM

Мораль: сайт сам не падает. Но иногда падает так изящно и вовремя, что кажется — прямо как в детективе, был кто-то третий. И этот третий обычно сидит где-то в подсети IP x.x.x.x, притворяется поисковиком и обходит все ваши города по очереди, пока живые покупатели грустно смотрят на страницу с ошибкой 502.

x
Тема пуша
Сообщение пуша
Наверх
Отправить заявку
Нажимая на кнопку, вы даете согласие на обработку своих персональных данных