http协议:四 (7)http的代理服务

http协议:四 (7)http的代理服务

 

负载均衡

健康检查:使用“心跳”等机制监控后端服务器,发现有故障就及时“踢出”集群,保证服务高可用;

安全防护:保护被代理的后端服务器,限制 IP 地址或流量,抵御网络攻击和过载;

加密卸载:对外网使用 SSL/TLS 加密通信认证,而在安全的内网不加密,消除加解密成本;

数据过滤:拦截上下行的数据,任意指定策略修改请求或者响应;

内容缓存:暂存、复用服务器响应,这个与第 20 讲密切相关,我们稍后再说。

http协议:四 (7)http的代理服务

 

http协议:四 (7)http的代理服务

 

 

 HTTP 代理就是客户端和服务器通信链路中的一个中间环节,为两端提供“代理服务”;

代理处于中间层,为 HTTP 处理增加了更多的灵活性,可以实现负载均衡、安全防护、数据过滤等功能;

代理服务器需要使用字段“Via”标记自己的身份,多个代理会形成一个列表;

如果想要知道客户端的真实 IP 地址,可以使用字段“X-Forwarded-For”和“X-Real-IP”;

专门的“代理协议”可以在不改动原始报文的情况下传递客户端的真实 IP。

 问题

1、你觉得代理有什么缺点?实际应用时如何避免?

2、你知道多少反向代理中使用的负载均衡算法?它们有什么优缺点?

 

补充

01现实生活中也有很多“代理”,例如房产代理、留学代理、保险代理、诉讼代理,可以对比理解一下。

02知名的代理软件有HAProxy、Squid、 Varnish等,而Nginx虽然是Web服务器,但也可以作为代理服务器,而且功能毫不逊色。

03“Via”是HTTP协议里规定的标准头字段,但有的服务器返回的响应报文里会使用“X-Via”,含义是相同的。

04因为HTTP是明文传输,请求头很容易被窜改,所以“X-Forwarded- For”也不是完全可信的。

05 RFC7239 定义了字段“Forwarded",它可以代替“X-Forwarded- -For”“X- -Forwarded-Host”等字段,但应用得不多。

http协议:四 (7)http的代理服务

上一篇:vue首屏优化


下一篇:关于windows-8.1中-IE11的一些小技巧