通过我的代理进行HTTPS隧道传输

时间:2013-05-13 22:14:20

标签: ssl https proxy tunneling

我正在尝试使用 Boost Asio LibCURL 构建完整的网络缓存代理,我已经构建了服务器,一切正常。它正确接收http请求(GET,POST,使用POST ...上传),并且还可以正确地将响应发送回浏览器。

现在,我想扩展它,因此它可以处理https请求。我在LibCURL网站http://curl.haxx.se/libcurl/c/libcurl-tutorial.html(代理部分)中读到了它,我理解它是如何工作的,我清楚地知道应该如何做。但是我没有找到关于代理如何处理https请求的好文档。和

  • 源应用程序和代理交换的可能消息(信息,格式,长度......)是什么?
  • 要考虑的事情。
  • ...

提前致谢:-)。

1 个答案:

答案 0 :(得分:1)

您将以纯文本形式接收CONNECT命令,并同步响应,然后将加密后的通信。如果您的代理要成为SSL端点,由于HTTPS需要与目标主机地址匹配的证书,因此您需要在两个连接上都进入SSL模式,这是非常有问题的。更有可能的是,你应该开始在两个方向上复制字节而不试图处理内容。

相关问题