我试图围绕ssl隧道过程,这是由一个HTTP代理从客户端接收CONNECT方法后执行的。HTTP代理SSL隧道继电器详细信息
东西,我似乎无法找到或文档,博客,RFC的理解:
1)建立隧道时,从客户端代理和代理目的地两个独立的连接,或者仅仅是两个连接一个也是一样的?例如。客户端代理和另一个代理目标之间是否存在tcp握手?
2)什么时候开始ssl握手客户端定位哪个节点(ip地址/主机名)?代理或目标主机?由于ssl需要点对点连接才能进行身份验证,因此我的感觉告诉我它应该是目标主机。但是再次说明这是没有意义的,因为目标主机不能(直接)从客户端角度访问(因此是代理)。
我真的不明白客户端如何执行与目标主机的ssl握手,因为该节点应该是从客户端角度不可路由的。代理是否执行路由器的功能?我似乎没有得到这个:/ – Marc
@Marc:引用自己:*当代理简单地转发数据*。是的,代理转发数据但不是,它不起路由器的作用。当代理在会话层转发数据包内容时,路由器在网络层转发数据包,请参见[OSI模型](https://en.wikipedia.org/wiki/OSI_model)。但是对于TLS握手,只有数据包内容是相关的。 –
好吧,我想我现在明白了。因此,当开始ssl握手时,客户端将clienthello消息放在client-proxy之间已经打开的tcp cxn上。一旦它到达代理服务器,它就会在已经打开的代理目标之间的tcp罐中继它。正确? – Marc