Насколько я понимаю, когда Apache получает запрос на один из прослушиваемых TCP-портов (например, 80, 443), он решает, какой хост запрашивается, посмотрев заголовок HTTP Host
. Затем сервер узнает, на какой виртуальный хост он должен перенаправить запрос.
Но как это работает для HTTP через SSL / TLS? Поскольку весь HTTP-запрос зашифрован (по крайней мере, это то, что, я полагаю, я где-то прочитал), информацию заголовка можно прочитать только после того, как сервер расшифровал данные. Но для расшифровки необходимо знать, какую пару ключей использовать, поскольку на веб-сервере можно установить несколько SSL-сертификатов.
Так как же сервер узнает, какой ключ ему нужен для расшифровки?
Мое предположение :
Я мог предположить, что рукопожатие TLS предоставляет необходимую информацию.
Относительно флага «возможный дубликат» :
Хотя я согласен, что ответы как на связанный вопрос, так и на мой, похожи, я должен сказать, что вопрос другой. Вне всякого сомнения, возможен ли хостинг нескольких сайтов с независимыми SSL-сертификатами. Вместо этого мой вопрос касается основного технического аспекта.