Просто чтобы уточнить, сеансы SSL / TLS не имеют ничего общего с сеансами HTTP. (Некоторые реализации могут использовать идентификатор сеанса SSL / TLS в качестве основы для поддержки сеансов HTTP, но это плохой дизайн, поскольку SSL / TLS может полностью изменять сеансы независимо от того, что делает HTTP).
С точки зрения распределения нагрузки вы получаете несколько вариантов:
Используйте балансировщик нагрузки, который является вашей конечной точкой SSL / TLS. В этом случае балансировка нагрузки будет выполняться на уровне HTTP: клиент подключается к балансировщику нагрузки, а балансировщик нагрузки разворачивает соединение SSL / TLS для передачи содержимого HTTP (затем в открытом виде) своим работникам.
Используйте балансировщик нагрузки на уровне TCP / IP, который перенаправляет все TCP-соединение непосредственно на рабочий узел. В этом случае каждый рабочий узел должен иметь сертификат и закрытый ключ (что не обязательно является проблемой, если они администрируются последовательно). Используя эту технику, балансировщик нагрузки вообще не выполняет никакой обработки HTTP (поскольку он не смотрит в соединение SSL / TLS): с одной стороны, это уменьшает обработку, выполняемую самим балансировщиком нагрузки, с другой С другой стороны, это может помешать отправке на конкретный рабочий узел, например, на основе структуры URL. Оба метода имеют свои преимущества и недостатки.