据我了解,当Apache收到对它正在侦听的TCP端口之一的请求时(例如80、443),它将通过查看HTTP标头来确定正在请求哪个主机Host
。然后,服务器将知道应将请求重定向到哪个虚拟主机。
但是,它如何用于基于SSL / TLS的HTTP?由于整个HTTP请求都是加密的(至少我相信这是我在某处读取的内容),因此只有在服务器解密数据后才能读取标头信息。但是为了解密,它需要知道要使用哪个密钥对,因为您可以在Web服务器上安装多个SSL证书。
那么服务器如何知道解密所需的密钥呢?
我的猜测:
我可以想象TLS握手提供了必要的信息。
关于“可能重复”标志:
尽管我同意所链接的问题和我自己的问题的答案都相似,但我必须说,问题是不同的。毫无疑问,是否可能以及如何托管具有独立SSL证书的多个站点。相反,我的问题是针对底层技术方面的。