Ротация или sticky-сессия: как настроить смену IP под задачу

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

5 мин чтения

Когда вы создаёте прокси в кабинете, нужно выбрать режим: ротация или sticky-сессия. Кажется, что это мелочь, но от этого выбора зависит, будет ли работать задача. Многие обращения в поддержку с жалобой «прокси не работают» на деле сводятся к неподходящему режиму, а сами прокси в порядке.

Ротация: новый IP на каждое соединение

При ротации каждое новое соединение выходит в интернет через другой адрес из пула выбранной страны. Сто соединений сайт увидит как сто разных посетителей.

Для парсинга это то, что нужно. Ограничения на частоту запросов (rate limit) почти всегда считаются по IP. Если нагрузка распределена по сотням адресов, до лимита дело не доходит.

Обратите внимание: IP меняется на каждое соединение, а не на каждый запрос. Если HTTP-клиент держит keep-alive и отправляет десять запросов в одном TCP-соединении, все десять уйдут с одного адреса. Когда при проверке ротации скриптом вы видите повторяющиеся IP, причина обычно в этом. Проще всего проверять через curl: каждый его вызов открывает новое соединение.

bash
# каждый вызов curl открывает новое соединение, значит IP будет новый
for i in 1 2 3; do
  curl -s -x http://LOGIN:PASSWORD@proxy-dealer.com:5555 https://api.ipify.org
  echo
done

Если создать в кабинете сразу несколько прокси с ротацией, их логины будут отличаться меткой line. Она нужна только для того, чтобы конфиги можно было различать, на смену IP она не влияет.

Sticky-сессия: один IP на заданное время

Sticky-сессия (от английского sticky, «липкий») закрепляет за вами один адрес. Все соединения идут через него, пока сессия не закончится. Для любой работы с входом в аккаунт нужен именно этот режим.

Вот как ротация внутри аккаунта выглядит со стороны площадки. Пользователь ввёл пароль из Нью-Йорка, через секунду открыл настройки из Чикаго, ещё через секунду нажал «Сохранить» из Далласа. Антифрод такое не пропустит. В sticky-сессии вся работа в аккаунте идёт с одного IP, как у обычного человека.

Сессия задаётся меткой в логине. Кабинет добавляет её сам, но полезно понимать, из чего состоит логин:

text
LOGIN-country-US-city-chicago-sid-k3v9x2ab-ttl-30m
       │          │            │            └ время жизни: 30 минут
       │          │            └ идентификатор сессии
       │          └ город
       └ страна

Пока идентификатор сессии (sid) не меняется, вы получаете тот же IP. Новый sid означает новый адрес. Поэтому на одном балансе можно держать несколько независимых профилей: создайте в кабинете несколько sticky-прокси, у каждого будет свой sid.

Какое время жизни ставить

За резидентским или мобильным IP стоит чьё-то реальное устройство. Если владелец выключит роутер или телефон потеряет сеть, сессия оборвётся раньше срока, и вы получите новый адрес. Повлиять на это нельзя, так устроены такие сети. Поэтому ставьте то время жизни, которого хватит на задачу, без большого запаса. В кабинете можно задать до двух часов.

ЗадачаРежимВремя жизни
Парсинг каталога или выдачиРотацияне задаётся
Оформление заказа, многошаговая формаSticky10–15 минут
Работа в рекламном кабинетеSticky30–60 минут
Профиль в антидетект-браузереSticky, отдельный на каждый профиль30–60 минут

Бывает и обратная ситуация: сессия жива, но устройство попалось медленное. По нашим замерам скорость у мобильных устройств в одной и той же стране может отличаться в несколько раз. Если sticky-прокси заметно тормозит, не ждите конца сессии и пересоздайте прокси в кабинете. Новый sid даст другое устройство.

Ошибки, которые встречаются чаще всего

Ротация в антидетект-браузере

Браузер открывает десятки соединений параллельно: картинки, скрипты, шрифты. При ротации каждое уходит с нового IP, и сайт видит, что одну страницу загрузили из пятнадцати разных мест. Для браузерных профилей подходит только sticky.

Один sticky-прокси на несколько аккаунтов

Если три аккаунта работают через один sid, для площадки они сидят на одном IP, и это прямая связь между ними. Каждому аккаунту нужна своя сессия.

Sticky для массового парсинга

Весь поток запросов идёт через один адрес и быстро упирается в лимит. Скрипт получает ошибку 429 или капчу, и кажется, что прокси плохие. Для сбора данных включайте ротацию.

Проверьте на своей задаче

Резидентские — $3 за ГБ, мобильные — $4 за ГБ. Оплата за трафик, без подписки, гигабайты не сгорают.

СОЗДАТЬ АККАУНТ