方向代理服务器位于Web服务器和客户端之间,可以用于监测终端用户体验。近年来,这种方法不怎么受欢迎,因为它增加了基础设施的故障点。许多负载均衡器行为上很像反向代理,也可以用于性能监测。
一、反向代理如何捕获用户会话
反向代理服务器截获客户端请求,并把它们转发到服务器。类似的,它截获服务器请求并将其转发到客户端。它可以自己响应某些请求,如静态图片。并减轻服务器负荷。因为截获连接,所以它是SSL加密的端点,对服务器的访问数据是不加密的。
虽然某些代理服务器提供的细粒度信息可以产生更好的可视化结果和分析,但是反向代理数据收集的结果是HTTP请求日志,类似于Web服务器。
二、反向代理如何捕获时间信息
记录时间的反向代理服务器跟踪连接中的关键点,如来自客户端的输入请求、来自服务器的响应状态码、服务器发送的第一字节、用于计算页面性能的对象发送结束时间。
因为反向代理介于客户端和服务器之间,所以可以测出连接两端的网络状况和性能。换句话说,它有两套TCP往返时间信息,一套是到客户端的Internet连接,另一套是到服务器端的局域网连接。
三、反向代理利弊
反向代理位于连接的中间。它们可能是发生错误和延迟的位置。如果有日志记录功能的负载均衡器,这也许是一个不错的选择。
反向代理收集方法有以下优点。
1)它的连接中间,可以看到两边的情况。
2)如果代理截获了SSL,就可以简化加密流量监测。
3)可以取代负载均衡器。
4)可以注入JavaScript,简化客户端指令。
反向代理的缺点包括以下几项。
1)引入了额外的风险点。
2)可能会增加延迟。
3)不能看到终端用户渲染后的页面。
4)不能反映CDN性能。
5)不能用于混合应用。
6)可能会成为攻击的目标。
7)很难诊断代理引起的问题。