Ротация прокси между запросами, соединениями и сессиями
Проверьте, что на самом деле ротирует сервис ротирующего прокси, прежде чем добавлять Connection: close к каждому запросу приложения.
Второй запрос через тот же шлюз может совершенно законно использовать тот же публичный IP. Проверьте, какой срок жизни сервис использует для своей ротации:
| Единица ротации | Что сравнивать |
|---|---|
| Запрос | Следующая операция приложения и наблюдаемый для неё выход |
| Соединение | Использовал ли клиент повторно совместимое соединение или открыл другое |
| Сессия провайдера | Документированный ввод для «липкой» сессии и её срок жизни |
Connection: close не является универсальной инструкцией для шлюза. Для HTTPS внутри CONNECT заголовок запроса к сайту передаётся внутри TLS пункта назначения. Он не сообщает внешнему прокси, какой публичный IP назначить. Семантика HTTP/1.1, специфичная для соединения, также не может переноситься без изменений в каждую версию HTTP или транспорт.
Если документированный сервис на соединение требует нового соединения, используйте поддерживаемое клиентом управление жизненным циклом и учитывайте повторные затраты на установку TCP/TLS. Если ротация следует за сессией провайдера, повторное подключение может сохранить и эту сессию, и её выход.
Записывайте отдельно идентификатор запроса, конечную точку, соответствующий ключ сессии и источник, наблюдаемый на стороне назначения. Закрытие соединения подтверждает только это событие жизненного цикла; проверяйте выход, выбранный для следующей операции, по фактическому контракту ротации сервиса.