什么是反向代理?nginx的用法有哪些?原理是什么?

什么是反向代理?nginx

https://baike.baidu.com/item/%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86 反向代理是代理服务器的一种。服务器根据客户端的请求,从其关联的一组或多组后端服务器(如Web服务器)上获取资源,而后再将这些资源返回给客户端,客户端只会得知反向代理的IP地址,而不知道在代理服务器后面的服务器簇的存在web

为何要反向代理优势是什么?算法

反向代理服务器能够隐藏源服务器的存在和特征。它充当互联网云和web服务器之间的中间层。这对于安全方面来讲是很好的,特别是当您使用web托管服务时。apache

nginx主要用法有哪些?后端

1.http server 代替 apache浏览器

2.反向代理服务器,(隐藏原服务器的存在和特征,客户端只知道反向代理服务器的iP)安全

3.实现负载均衡(一台服务器的访问量是有限的,当超过他的承受能力的时候,服务器就会崩溃,为了让用户有更好的体验,能够经过负载均衡的方式分担服务器的压力。能够创建不少的服务器,组成一个服务器的集群,当用户访问网站时,先访问中间服务器,再从服务器集群中选择一个压力较小的服务器,而后将请求转发到该服务器,这样就能够有效地让每一个服务器的压力趋于平衡,尽量的避免服务器崩溃的状况发生)服务器

4.虚拟主机网络

(不是必定是nginx的)负载均衡有哪几种方式?原理是什么?负载均衡

1.HTTP重定向负载均衡 根据用户的HTTP请求计算一台应用集群中服务器的地址,并将此地址写入HTTP重定向响应中返回给用户。

2.DNS域名解析负载均衡 在DNS中配置多个A记录,每次域名解析请求都会根据负载均衡算法计算一个不一样的IP地址返回,用户将会获得距离最近或者速度最快的一个服务器地址,这样能够加快用户的访问速度,改善性能。

3.反向代理负载均衡 使用反向代理服务器,它通常在web服务器前面,这个位置也正好是负载均衡服务器的位置,因此大多数反向代理服务器同时也提供负载均衡的功能。

4.网络层负载均衡

这种方法是在网络层经过修改请求目标地址进行负载均衡,网络层在七层网络层模型的第四层,因此也叫作四层负载均衡,也叫作IP层负载均衡。

请求达到负载均衡服务器后,由负载均衡服务器在操做系统内核进程获取网络数据包,根据负载均衡算法获得一台真实web服务器的地址,而后修改请求的目的地址到这台真实的web服务器地址,等到web服务器处理完成后,响应数据包回到负载均衡服务器,再将数据包源地址修改成自身的IP(负载均衡服务器的IP)地址发送给用户浏览器

这里关键在于真实无力web服务器响应数据包如何返回给负载均衡服务器。一种是源地址转换(SNAT),第二种是负载均衡服务器做为网关服务器。

网络层的负载均衡在内核进程完成数据转发,有更好的性能。可是因为响应请求的流量要通过负载均衡服务器,容易成为瓶颈。

5.数据链路层负载均衡

数据链路层主要处理 mac 地址,因此使用修改mac地址进行转发请求。负载均衡数据分发过程当中不修改IP地址,只修改mac地址,经过配置真实物理服务器集群全部机器虚拟IP和负载均衡服务器IP地址一致,从而达到不修改数据包的源地址和目的地址就能够进行数据分发的目的。因为web服务器的服务器地址IP和数据请求目的IP地址一致,不须要经过负载均衡服务器进行地址转换,可将相应数据包直接返回用户。若是有足够的公有IP,其实web服务器也能够直接使用本身的IP响应请求,不过这样web服务器必须绑定负载均衡的虚拟IP地址(VIP),才能保证web服务器收到来自负载均衡发送的数据包。

这种方式称做三角传输模式,单臂模式,也叫作直接路由方式(DR)。使用DR方式的链路层负载均衡是目前大型网站使用最广的一种负载均衡手段。

相关文章
相关标签/搜索