Ich verstehe, dass Apache beim Empfang einer Anfrage an einen der TCP-Ports, die es abhört (z. B. 80, 443), anhand des HTTP-Headers entscheidet, welcher Host angefordert wird Host
. Der Server weiß dann, zu welchem virtuellen Host er die Anforderung umleiten soll.
Aber wie funktioniert das bei HTTP über SSL / TLS? Da die gesamte HTTP-Anfrage verschlüsselt wird (zumindest glaube ich, dass ich sie irgendwo gelesen habe), können die Header-Informationen erst gelesen werden, nachdem der Server die Daten entschlüsselt hat. Zum Entschlüsseln muss jedoch bekannt sein, welches Schlüsselpaar verwendet werden soll, da auf einem Webserver mehrere SSL-Zertifikate installiert sein können.
Woher weiß der Server, welchen Schlüssel er zur Entschlüsselung benötigt?
Meine Vermutung :
Ich könnte mir vorstellen, dass der TLS-Handshake die notwendigen Informationen liefert.
In Bezug auf das Flag "Mögliche Duplikate" :
Ich bin damit einverstanden, dass die Antworten sowohl auf die verknüpfte als auch auf meine Frage ähnlich sind, muss aber sagen, dass die Frage unterschiedlich ist. Es steht außer Frage, ob oder wie das Hosten mehrerer Sites mit unabhängigen SSL-Zertifikaten möglich ist. Stattdessen befasst sich meine Frage mit dem zugrunde liegenden technischen Aspekt.