应用程序请求路由在连接到内容服务器时是否利用 SSL 会话?

应用程序请求路由在连接到内容服务器时是否利用 SSL 会话?

在将 ARR 配置为使用 SSL/TLS 连接到内容服务器的情况下,它是否利用 SSL 会话(例如,会话标识符RFC 5246) 以便后续与内容服务器的连接可以使用缩短的握手?

如果可以的话,是否可以使用与内容服务器的单个 SSL 会话为多个客户端提供服务?

我知道 ARR 的 SSL 实现来自底层的 schannel 组件,并且我相信它默认对每个连接的两端进行缓存如何配置安全套接字层服务器和客户端缓存元素。但是,我找不到支持 ARR 方案的权威文章。

答案1

首先,我不知道答案,但我猜测它至少使用会话 ID。

其次,我不会通过查看文档(这些文档在此类细节上可能可信也可能不可信)来查找答案,而是通过嗅探流量并以这种方式确保答案 100% 正确。我发现这是最简单的方法,因为代理可以操纵流量以产生不同的效果 - 它真的能做到我认为它能做到的事情吗?

如果我没记错的话,SessionID 是未加密的 SSL 数据包头的一部分,可以立即在 Wireshark 或任何其他数据包分析器中查看。

最后,如果你想解密以获得完整的见解这也是可能的还有这里,不是通过推理而是通过明确的流数据来回答你的第二个问题。

答案2

使用 Wireshark 确定答案后回答我自己的问题。

是的,AAR 将利用 SSL 会话,这些会话可以为多个客户端提供服务。

使用Wireshark我观察到以下情况:


Client1 -> AAR          GET /foo

AAR -> ContentServer    Client Hello
ContentServer -> AAR    Server Hello, Certificate, Server Hello Done
AAR -> ContentServer    Client Key Exchange, Change Cipher Spec, 
                        Encrypted Handshake Message
ContentServer -> AAR    Change Cipher Spec, Encrypted Handshake Message
AAR -> ContentServer    <encrypted application data>

Client2 -> AAR          GET /bar

AAR -> ContentServer    Client Hello
ContentServer -> AAR    Server Hello, Change Cipher Spec, 
                        Encrypted Handshake Message
AAR -> ContentServer    Change Cipher Spec, Encrypted Handshake Message
AAR -> ContentServer    <encrypted application data>

这与图表中显示的预期结果完全一致加速 SSL:启用会话重用

相关内容