Назад | Перейти на главную страницу

Как перенести установленную HTTPS-сессию с одного сервера на другой?

Есть много HTTPS-серверов (Nginx или Haproxy или что-то еще?):

Можно ли перенести установленный сеанс HTTPS (с уже полученными заголовками HTTP-запроса) с балансировщика на рабочий?

Это кажется относительно тривиально для обычного HTTP, потому что он не зашифрован, но кажется немного сложно для HTTPS, потому что параметры рукопожатия SSL для конкретного сеанса должны быть (прозрачно для клиента):

  1. Сериализуется балансировщиком,
  2. Передано работнику,
  3. Десериализован работником,
  4. Применяется работником.

Ближайшая функция, которую я нашел, называется «Зеркальное отображение SSL-соединения» и является частью платформы F5 BIG-IP. Это свидетельствует о том, что описанная проблема практически решаема. Но это (а) проприетарное, (б) чрезвычайно дорогое решение и (в) решение только для отработки отказа, то есть HA без LB.