使用两个独立的SSL证书配置F5负载均衡器和IIS Web服务器



我试图理解为什么一个特定的负载平衡器-> web服务器配置工作,所以请允许我描绘的图片。

我有一个F5负载均衡器(LB),它将流量传递到web服务器(WSvr)。WSvr正在运行iis8。

LB有自己的SSL证书,即https://www.example.com。WSvr有一个单独的SSL证书,即https://myWebServer.example.com。

我预计这个LB -> WSvr配置失败,但它实际上工作,我真的不明白为什么。它不仅工作,而且我能够验证到托管在WSvr上的web应用程序,这意味着会话始终保持活跃。

我认为如果您选择在LB和WSvr上使用证书,则必须在两台机器上安装相同的证书。即LB的IP地址和WSvr的IP地址必须映射到相同的DNS名称,即www.example.com。不是两个完全独立的证书。(在我的例子中,LB映射到www.example.com。WSvr映射到myWebServer.example.com。)LB是如何与WSvr对话并保持会话活动的?

这是我对上述场景的典型请求的描述(根据实际发生的情况,这显然是不正确的,但它说明了为什么我认为它会失败):

  1. 得到https://www.example.com/login.html

  2. LB通过LB的SSL证书加密www.example.com/login.html并将其传递给WSvr

  3. 从请求中剥离SSL,终止会话。WSvr用自己的SSL证书重新加密,创建一个新的会话。

如果有人能指点我,引导我走上正确的道路,并解释为什么我不正确,为什么上面的配置有效,我将不胜感激。

非常感谢您的宝贵时间。

这里的关键是有两个独立的连接(会话),因此有两个独立的SSL握手,一个在客户端和LB之间,另一个在LB和后端之间。第一次握手验证客户端想要连接到https://www.example.com,第二次握手验证LB想要连接到https://myWebServer.example.com。没有"剥离"SSL。客户端发送的每个请求都要经过这两个连接,因此实际上,它被加密了两次。

最新更新