- October 2, 2026
- Posted by: admin
- Category: Uncategorized
Пиковая нагрузка обнажает все слабые места защиты сайта, и самое коварное из них – лимиты запросов, настроенные под обычный трафик. В будний день лимит в 30 запросов в минуту на IP спасает от парсеров и брутфорса, но в день распродажи он же превращается в автомат, расстреливающий реальных покупателей, которые просто обновляют корзину. Разберем, как выстроить защиту, которая не съест конверсию в самый дорогой для бизнеса момент.
Почему статичный rate-limit опаснее ботов в день распродажи
Механика проста. В обычный вторник на сайт заходит условно 500 человек в час, и лимит в 30 запросов в минуту с одного IP почти никогда не срабатывает на живых людях. Человек открывает карточку товара, добавляет в корзину, обновляет страницу – это 5-8 запросов за пару минут, до потолка далеко. Зато парсер, собирающий цены, легко выдает 200 запросов в минуту, и лимит его отсекает. Логика кажется железной, пока не наступает Черная пятница.
В пик на сайт приходят десятки тысяч людей одновременно. Каждый из них ведет себя иначе: кто-то нервно жмет F5 на странице оплаты, кто-то открывает десять товаров в новых вкладках, кто-то на мобильном с плохим интернетом отправляет запрос повторно, потому что первый не догрузился. Все эти запросы летят с одного IP или с одного CGNAT-диапазона мобильного оператора, где за одним адресом сидят сотни абонентов. Лимит, рассчитанный на спокойный день, срабатывает на живых покупателях, и они получают 429 вместо корзины.
Дальше начинается самое дорогое. Покупатель, которого забанили на этапе оформления заказа, не звонит в поддержку и не пишет в Telegram. Он закрывает вкладку и уходит к конкуренту, который в этот момент не экономил на защите. Вы теряете не просто сессию, а оплаченный трафик, позиции в выдаче и репутацию. При этом боты, ради которых все затевалось, спокойно проходят мимо: они распределяют запросы по пулу прокси и почти никогда не упираются в лимит так, как это делает живой человек с плохим Wi-Fi.
Как отличить легитимный всплеск от атаки
Ключевой признак живой нагрузки – не количество запросов, а их поведение. Человек приходит с браузерным User-Agent, у него есть cookies, он грузит статику (CSS, JS, картинки) вместе с HTML, между запросами есть паузы на чтение. Бот или L7 DDoS-скрипт бьет по одним и тем же эндпоинтам с одинаковыми интервалами, часто без Referer и без запроса статики. Если этого не различать, любой антибот превращается в генератор ложных срабатываний.
Второй признак – география и ASN. Всплеск из одного датацентра Hetzner в час ночи по Москве почти наверняка атака. Всплеск с мобильных операторов РФ в 20:00 в день распродажи – это ваши покупатели. GeoIP-фильтрация и разбор по автономным системам помогают отделить одно от другого без ручного разбора логов. Зарубежные облачные платформы такие сценарии часто не учитывают: Cloudflare, например, ограничивает доступ к сайтам из России, и российские интернет-провайдеры в ответ ограничивают доступ к сайтам на Cloudflare, что добавляет к проблеме с лимитами еще и проблему с доступностью.
Разделяйте профили лимитов: будни, акция, распродажа
Первое, что стоит сделать, – перестать держать один универсальный лимит. Заведите минимум три профиля: обычный день, промо-период и пик распродажи. В обычном дне можно быть строгим: 30-40 запросов в минуту на IP, короткое окно блокировки, жесткие правила для парсеров. В промо-периоде поднимайте потолок в 2-3 раза и увеличивайте окно наблюдения, чтобы случайные всплески не приводили к бану. В пик распродажи лимиты должны быть мягкими для браузерного трафика и жесткими только для явных аномалий.
Важно, чтобы переключение профилей было автоматическим по расписанию или по триггеру нагрузки, а не ручным. Если инженер забудет переключить режим в 00:00 старта акции, сайт встретит наплыв покупателей будничными лимитами. Настройте календарь акций заранее: маркетплейсы, интернет-магазины и сервисы бронирования знают даты распродаж за месяцы. Профиль на эти даты должен включаться сам.
Отдельно продумайте поведение при срабатывании лимита. Голый 429 без объяснений убивает конверсию. Покажите капчу, предложите подождать с таймером, дайте ссылку на альтернативный канал оформления заказа. Покупатель, который видит понятное сообщение, часто возвращается. Покупатель, который видит белую страницу с кодом ошибки, не возвращается никогда.
Точки, которые нельзя закрывать лимитами на распродаже
Есть эндпоинты, которые в пик нужно защищать иначе, чем rate-limit. Это добавление в корзину, обновление корзины, применение промокода, шаги чекаута и колбэк платежного шлюза. Если поставить на них жесткий лимит по IP, вы первыми забанете именно платящих клиентов. Для этих точек лучше применять проверку сессии, токены, поведенческий анализ и капчу по триггеру, а не слепой счетчик запросов.
Обратная история с поиском по каталогу и страницами категорий. Их в пик начинают долбить парсеры конкурентов, собирающие ваши цены и наличие. аналог cloudflare warp offers additional context worth reviewing. Здесь лимит уместен, но с оговоркой: он не должен задевать живых людей, которые листают фильтры. Разделяйте запросы с сортировкой и пагинацией от прямых обращений к API каталога. Второе можно резать смело.
Что настроить в защите до старта распродажи
Начинайте с инвентаризации. Выпишите все эндпоинты, которые затрагивает покупатель на пути к оплате, и отметьте, какие из них критичны. Для каждого определите нормальное поведение: сколько запросов делает живой человек, сколько бот, какие параметры у запроса. Без этой карты любые лимиты – стрельба из пушки по воробьям с риском попасть в своих.
Дальше настройте многоуровневую защиту вместо одного rate-limit. На уровне сети – базовый порог по IP и ASN. На уровне приложения – проверка сессии, токены, анализ поведения. На уровне бизнес-логики – правила для конкретных действий: например, не больше трех попыток применить промокод за сессию, но без бана по IP. Такая схема ловит ботов точнее и не рубит живых.
Отдельно проверьте, как ваша веб-платформа ведет себя под нагрузкой. WordPress и Bitrix на пике часто сами становятся источником ошибок: медленный ответ сервера выглядит для клиента как зависшая страница, он жмет обновить, и вот уже пять запросов вместо одного. Кэширование, CDN и оптимизация запросов к базе снижают нагрузку не хуже, чем лимиты. Если сайт отвечает за 200 мс, покупателю не нужно обновлять корзину.
Прогоните нагрузочный тест до распродажи. Сымитируйте сценарий: 1000 виртуальных покупателей одновременно добавляют товар, обновляют корзину, применяют промокод. Посмотрите, сколько из них получит 429 или 403. Если больше одного процента – лимиты настроены неверно, и в реальный день вы потеряете этих людей. Тест стоит повторить на каждом профиле: будни, промо, пик.
Как выбрать платформу, которая не подведет в пик
Многое зависит от того, на чем построена защита. Зарубежные платформы вроде Cloudflare дают мощный инструментарий, но для российского бизнеса добавляют два риска: ограничение доступа к сайтам из России и зависимость от внешней инфраструктуры, которая может измениться без предупреждения. В 2026 году бизнес в России ищет альтернативу Cloudflare не из-за функциональности, а из-за предсказуемости.
TrafficVeil как российский аналог Cloudflare объединяет DNS, SSL, reverse proxy, WAF, защиту от ботов, L7 DDoS, GeoIP-фильтрацию и аналитику в одной панели. Это важно для пиковых нагрузок: когда все инструменты в одном месте, вы быстрее реагируете на аномалию и не тратите время на переключение между сервисами. Российский аналог Cloudflare обеспечивает работу сайтов на территории РФ и по всему миру, а не только в одной юрисдикции.
Отдельный плюс – модель тарификации. TrafficVeil не тарифицирует ботов, атаки и WAF-блокировки. Это снимает классическую дилемму пика: вам не приходится выбирать между жесткой защитой и бюджетом, потому что отбитые атаки не увеличивают счет. Платформа подходит для сайтов, интернет-магазинов, проектов на WordPress и Bitrix, где важна и защита, и скорость отклика. Переход с Cloudflare можно сделать без простоя, перенеся DNS и настройки правил.
Проверьте несколько сценариев перед миграцией: как платформа ведет себя при всплеске трафика, как настраиваются профили лимитов, есть ли разделение по эндпоинтам, как работает GeoIP-фильтрация для мобильных операторов. Если все это гибко настраивается, вы получаете защиту, которая в пик не банит покупателей, а отсекает именно тех, кто пришел мешать.
Практический итог простой. Не держите один rate-limit на все случаи жизни. Заведите отдельные профили для будней, промо и распродажи, включайте их автоматически по календарю акций, защищайте чекаут через сессии и токены, а не через счетчик запросов, и тестируйте поведение под нагрузкой до того, как стартует акция. Тогда в самый дорогой день года защита будет работать на конверсию, а не против нее.
