Справочник ошибок прокси
Ошибки прокси — это сбои плоскости данных при входе по HTTP или SOCKS5. Они не связаны с JSON-ошибками, которые возвращает Litport API.
Ошибки HTTP-прокси#
При входе по HTTP сначала изучите эти заголовки ответа, а потом интерпретируйте HTTP-статус:
X-Proxy-Error-Code: 10
X-Proxy-Error-Message: Too many requests
Числовой заголовок — основной признак. Одного HTTP-статуса недостаточно: несколько путей совместимости используют 500, а некоторые сетевые сбои определяются как 503. Коды 11 и 12 могут нести более конкретное сообщение в ответе, чем сообщение по умолчанию из таблицы ниже.
Код 13 (недостаточно средств на балансе аккаунта) — исключение из соглашения о 500: он возвращает 402 Payment Required. Многие клиенты сообщают только строку статуса, когда HTTPS-туннель не удалось открыть, поэтому по одному статусу они понимают, что проблема в балансе. Пополните баланс перед повторной попыткой.
| Код | Символ | Сообщение по умолчанию или в ответе | HTTP-статус(ы) | Рекомендация по повтору | Что делать |
|---|---|---|---|---|---|
| 0 | ErrorNone |
Пусто | Ответа с ошибкой нет | Неприменимо | Считайте запрос успешным. |
| 1 | ErrorPanic |
panic | 500 | Без повторов в плотном цикле | Повторите один раз с задержкой, затем обратитесь в поддержку с данными запроса. |
| 2 | Error |
Internal proxy error | 500 или 503 | Повтор с ограниченной задержкой | Повторите ограниченное число раз, затем обратитесь в поддержку. |
| 3 | Error |
Connection was interrupted | 500 | Только если операция приложения безопасна | Перед повтором проверьте таймауты клиента и целевого сайта. |
| 4 | ErrorNoToken |
Token not found | 407 | После исправления данных для подключения | Проверьте логин, пароль, хост и порт прокси. |
| 5 | Error |
Access denied | 500 для совместимости | Без автоматического повтора | Проверьте статус токена, доступ аккаунта и политику назначения. |
| 6 | ErrorLimited |
You have reached the limit of concurrent connections | 403 | Когда появится свободная ёмкость | Закройте неиспользуемые соединения или снизьте параллелизм. |
| 7 | ErrorNoProxy |
Internal proxy error | 500 | Повтор с ограниченной задержкой | Повторите ненадолго; если апстрим не появляется, обратитесь в поддержку. |
| 8 | Error |
Proxy host mismatch, check token settings | 500 | После исправления хаба | Используйте хаб, указанный для токена в личном кабинете. |
| 9 | Error |
Proxy type mismatch, check token settings | 500 | После исправления входа | Используйте текущий HTTP- или SOCKS5-эндпоинт токена. |
| 10 | Error |
Too many requests | 403 | Нужна задержка перед повтором | Снизьте частоту новых запросов или новых соединений для этого режима входа. |
| 11 | Error |
PPG proxy error Может быть заменено конкретным сообщением в ответе. | 500 | Зависит от конкретного сообщения | Исправьте параметры пула, географии или сессии; иначе повторите с задержкой. |
| 12 | Error |
PPG stats error Сообщение в ответе может быть другим. | 500 | Повтор с ограниченной задержкой | Повторите ненадолго, затем обратитесь в поддержку, если ошибка не исчезает. |
| 13 | Error |
Insufficient account balance | 402 | Не сетевой повтор | Проверьте баланс аккаунта или пополните его в личном кабинете. |
| 14 | Error |
Remote proxy connection error | 500 или 503 | Повтор с ограниченной задержкой | Повторите с задержкой; повтор может выбрать другой удалённый прокси. Если вы выбираете страну, регион или город и ошибка не пропадает, в этой локации сейчас может не быть IP онлайн: повторите позже или расширьте локацию. |
| 15 | Error |
Upstream server connection error | 500 или 503 | Зависит от безопасности назначения | Перед повтором проверьте назначение и политику повторов. |
| 16 | Error |
Internal proxy error | 500 | Повтор с ограниченной задержкой | Повторите ненадолго; если ошибка не исчезает, обратитесь в поддержку, указав хаб, ID токена, назначение, время и код 16 (никогда не указывайте пароль прокси). |
| 17 | Error |
package |
403 | Не сетевой повтор | Это возможно только у старого пакета с лимитом трафика: он израсходовал трафик за текущий период. Дождитесь продления периода или обратитесь в поддержку. |
| 18 | Error |
package |
503 | Повтор с ограниченной задержкой | Не удалось вовремя прочитать или зарезервировать права пакета. Повторите ненадолго; если ошибка не исчезает, обратитесь в поддержку, указав хаб, ID токена и время. |
| 19 | Error |
package |
403 | Без автоматического повтора | Пакет приостановлен или отменён. Проверьте его статус и способ оплаты в личном кабинете. |
| 20 | Error |
package |
403 | Без автоматического повтора | Период пакета закончился. Продлите его или купите новый пакет в личном кабинете. |
| 21 | Error |
package |
403 | Без автоматического повтора | Токен указывает на пакет, которого больше нет. Обратитесь в поддержку и укажите ID токена. |
| 22 | Error |
package |
403 | Без автоматического повтора | Хаб хранит запись о пакете, слишком устаревшую, чтобы ей доверять. Обратитесь в поддержку, указав хаб, ID токена и время. |
| 23 | Error |
Client closed the connection | Не отправляется (клиент уже закрыл соединение) | Неприменимо | Ваш клиент закрыл или сбросил соединение до завершения запроса. Проверьте таймауты клиента и повторное использование соединений. |
Для общего мобильного токена «Мультилокация» код 7 с сообщением noHealthyRoute означает, что у сохранённой цели сейчас нет исправных устройств. Прочитайте местоположение токена, затем дождитесь восстановления или выберите другую доступную цель. Город всегда сохраняется: оператор, у которого в этом городе нет работающего телефона, заменяется другим оператором в том же городе, а effective показывает оператора, который используется фактически.
Неудачное TLS-рукопожатие с HTTP-эндпоинтом прокси по https:// проявляется как закрытие соединения до отправки любого HTTP-ответа, поэтому X-Proxy-Error-Code для проверки нет. Если соединение https:// закрывается сразу, проверьте схему URL, имя хоста (не IP-адрес) и то, что клиент доверяет корневому сертификату кеша Litport для соединения с прокси.
Сбои PPG-апстрима#
Код 16 означает, что апстрим с оплатой за ГБ не смог обработать запрос. Это не означает, что 500 Litport вернул сам целевой сайт. Код 14 означает, что удалённый прокси отказал в соединении или оборвал его, например потому, что в выбранной локации нет ни одного IP онлайн. В обоих случаях Litport намеренно заменяет статус, заголовки и тело ответа провайдера апстрима своей фиксированной ошибкой.
HTTP-клиентам следует ветвить логику по X-Proxy-Error-Code: 16, а не только по HTTP-статусу. SOCKS5-клиенты получают общий сбой без числового заголовка; чтобы увидеть код Litport, воспроизводите через HTTP-вход токена только безопасный идемпотентный запрос.
Повторяйте запрос с ограниченной экспоненциальной задержкой. Если ошибка не исчезает, обратитесь в поддержку и сообщите хаб, ID токена, адрес назначения, время и код 16 — но никогда не пароль прокси. Трафик, переданный после допуска, включая общий ответ с ошибкой, по-прежнему подпадает под действующую политику использования.
Ответы SOCKS5#
SOCKS5 не передаёт X-Proxy-Error-Code и X-Proxy-Error-Message. Несколько внутренних категорий намеренно сводятся к одному ответу.
Большинство проверок токена и аккаунта, включая недостаток средств на балансе, выполняется при входе по логину и паролю, до того как клиент отправит запрос. Сбой на этом этапе закрывает соединение как отклонённый вход, и большинство клиентов сообщают об ошибке аутентификации, даже если пароль верный.
| Ответ | Значение | Возможные категории |
|---|---|---|
auth 0x01 |
Логин отклонён | Шаг логина и пароля (RFC 1929) не пройден, и соединение закрыто до любого запроса. Здесь выполняется большинство проверок токена и аккаунта: неизвестный, отключённый или просроченный токен либо неверный пароль (4), несоответствие доступа токена (5), неверный хаб (8) или протокол (9), неверные параметры пула PPG (11), учёт PPG (12), недостаточный баланс (13) и состояние пакета (17–22). Клиенты обычно сообщают об этом как об ошибке аутентификации |
0x01 |
Общий сбой | Внутренний сбой или сбой подключения к апстриму после принятия запроса. Чаще всего коды 2, 14, 15 или 16. |
0x02 |
Соединение не разрешено | Запрос отклонён после логина: правила назначения или сети (5), лимит одновременных соединений (6), нет доступного апстрима (7), ограничение частоты запросов (10), выбор апстрима PPG (11) или PPG UDP, который выбранный апстрим не поддерживает |
0x07 |
Команда не поддерживается | Запрошенная команда SOCKS5 не реализована; это не X-Proxy-Error-Code |
Чтобы различить причины, воспроизведите тот же безопасный идемпотентный запрос с теми же данными для подключения через соответствующий HTTP-вход и изучите его заголовки. Если повтор приведёт к повторному побочному эффекту или небезопасен по другой причине, не воспроизводите его.
Безопасная политика повторов#
- Перед повтором при детерминированных сбоях исправьте данные для подключения, хаб, протокол, географию, баланс или параллелизм клиента.
- Временные внутренние сбои, сбои выбора и сбои апстрима повторяйте с ограниченной экспоненциальной задержкой и джиттером.
- Прерванную операцию или операцию приложения на стороне апстрима повторяйте, только если её повтор безопасен.
- Никогда не запускайте цикл повторов без пауз. Сохраняйте первое и последнее свидетельство сбоя из ограниченной серии попыток.
Данные для поддержки#
Укажите хаб Litport, вход по HTTP или SOCKS5, время в UTC, ID токена, хост и порт назначения, а также наблюдаемый код и сообщение об ошибке или ответ SOCKS5. Если это важно, укажите метод запроса.