趣谈Nginx反向代理

无论你用浏览器还是APP访问多数网站,到达的第一站就是Nginx。

后来者居上的Nginx

千禧年前后,互联网业务迎来了高速发展,老牌的Web服务器都无法满足高性能、高可靠的市场需求。

一个开源的、流行的HTTP和反向代理服务器在2004年应运而生,它就是Nginx。它作为HTTP服务器可以用较少的内存来提供可靠的静态站点服务,同时作为反向代理支持HTTP、电子邮件、TCP和UDP等多种协议,可以用作多个上游服务器的流量入口。所谓后来者居上,Nginx出道十五年,稳居市场占用率榜首。 (Netcraft官网统计数据显示2019年10月市场占有率32.88%)

因此,多数互联网公司也邀请到了Nginx这位业界“流量担当”来承担流量入口庞大而繁复的数据传输工作。

Nginx提供中介服务

什么是“反向代理”?

举个例子:在现如今的租房子市场中,人们很难一次性接触到房主本人,更多的时候接触到是中介等这样的 “二房东”。 反向代理服务器就是这种这种帮助真正的房主执行租房指令的“二房东”。当客户端(租客)发送请求到反向代理服务器(二房东)上,由反向代理服务器(二房东)再把请求转发给一台上游服务器(房东)来执行,再把执行结果返回给客户端(租客)。

更为专业的解释是:反向代理(Reverse Proxy)是一个Web服务器,它终结了客户端连接,并生成了另一个新的连接,新的连接代表客户端向上游服务器生成连接。上游服务器(upstream server)被定义为一个Nginx产生连接“打通”了客户端请求的服务器。(摘自《Mastering Nginx 2nd Edition》)

image.png

Nginx作为流量入口带你游览互联网的每个角落的时候,也会为了满足“租客”的需求在租客和房东之间忙的团团转。它需要代替“租客”向上游服务器生成一个新的请求,并将上游服务器的响应数据发回给租客。

image.png

反向代理服务器提供了强大的扩展性,将并发连接到多个上游服务器(房东父子),使它们看起来好像就是一个服务器实现的(二房东)。

同样再拿租房市场来举例子:某个土豪房东有多套房子委托二房东出租,但是房东平常比较忙,容易耽误租房事情。二房东建议房东增加联系人如房东的儿子并约定处理规则,这里的的房东父子是反向代理中的“上游服务器”,处理的规则是“负载均衡策略”。

image.png

专业的解释:Nginx可以通过扩展它代理的连接来保护你的上游服务器免于过载。(摘自《Mastering Nginx 2nd Edition》)

这种反向代理多个上游服务器的方式就是多数互联网平台使用最广泛的负载均衡服务。

猜你喜欢

转载自www.cnblogs.com/zhanglaotang/p/12079385.html