我正在尝试使用 Boost Asio 和 LibCURL 构建完整的网络缓存代理,我已经构建了服务器,一切正常。它正确接收http请求(GET,POST,使用POST ...上传),并且还可以正确地将响应发送回浏览器。
现在,我想扩展它,因此它可以处理https请求。我在LibCURL网站http://curl.haxx.se/libcurl/c/libcurl-tutorial.html(代理部分)中读到了它,我理解它是如何工作的,我清楚地知道应该如何做。但是我没有找到关于代理如何处理https请求的好文档。和
提前致谢:-)。
答案 0 :(得分:1)
您将以纯文本形式接收CONNECT命令,并同步响应,然后将加密后的通信。如果您的代理要成为SSL端点,由于HTTPS需要与目标主机地址匹配的证书,因此您需要在两个连接上都进入SSL模式,这是非常有问题的。更有可能的是,你应该开始在两个方向上复制字节而不试图处理内容。