Web服务器如何知道用于SSL解密的密钥对?

前端之家收集整理的这篇文章主要介绍了Web服务器如何知道用于SSL解密的密钥对?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
据我所知,当Apache收到一个正在监听的TCP端口(例如80,443)的请求时,它将通过查看HTTP头主机来决定请求哪个主机.然后,服务器将知道应将请求重定向到哪个虚拟主机.

但它如何通过SSL / TLS实现HTTP?由于整个HTTP请求正在加密(至少我认为我已经在某处读过),因此只能在服务器解密数据后才能读取标头信息.但是为了解密,它需要知道要使用哪个密钥对,因为您可以在Web服务器上安装多个SSL证书.

那么服务器如何知道解密所需的密钥呢?

我猜:

我可以想象TLS握手提供了必要的信息.

关于“possible duplicate”标志:

虽然我同意链接问题和我自己的问题的答案是相似的,但我必须说问题是不同的.毫无疑问,是否或如何托管具有独立SSL证书的多个站点是可能的.相反,我的问题涉及潜在的技术方面.

解决方法

最初,Web服务器不知道.这就是您需要为要在服务器上托管的每个SSL vhost单独的IP地址的原因.这样,服务器就知道当IP X上的连接进入时,他需要使用相关vhost的配置(包括证书).

这改变了Server Name Indication,一个TLS扩展,确实允许客户端在握手过程中指示所需的主机名.这个扩展用于所有现代操作系统,但旧的浏览器或服务器不支持它,因此如果您希望客户端仍然在WinXP上使用IE 6,那么您将失去运气.

原文链接:https://www.f2er.com/html/229958.html

猜你在找的HTML相关文章