想写一个带连接池的http proxy, http协议下没问题,
proxy收到请求后互相转发就行了, 带上keepalive后就可以维持长连接
但是https下收到客户端的CONNECT请求后返回HTTP/1.1 200 Connection Established
并且连接到目标服务器
然后互相转发数据完成http proxy, 客户端收到转发的数据后, proxy维持的目标服务器连接就自动断开了,
带keepalive也不能保持目标服务器的连接, 请问如何解决
想写一个带连接池的http proxy, http协议下没问题,
proxy收到请求后互相转发就行了, 带上keepalive后就可以维持长连接
但是https下收到客户端的CONNECT请求后返回HTTP/1.1 200 Connection Established
并且连接到目标服务器
然后互相转发数据完成http proxy, 客户端收到转发的数据后, proxy维持的目标服务器连接就自动断开了,
带keepalive也不能保持目标服务器的连接, 请问如何解决
3 回答2.3k 阅读✓ 已解决
1 回答1.6k 阅读✓ 已解决
1 回答1.1k 阅读
986 阅读
792 阅读
自己找到答案了, 重新看了一遍https的协议
在传输完成后会有客户端发起一个
close_notify
报文并由服务器关闭连接.所以proxy在收到客户端发送的
close_notify
报文拦截就不会导致连接被关闭.目前看没什么问题, 连接被保持住了