前言
最近一段时间跟 Nginx 打交道有点多,填补了自己知识库中不少空白。之前只是一直听说 Nginx 反向代理功能非常强大,但是从来没有亲手操作和配置过,最近也多多少少体验了一把。说到 Nginx 的方向代理功能,内心不禁要问,是不是正向代理呢?
是的,确实有,而且今天的内容就是来讨论二者的区别与联系。
正文
说到代理,从字面意思理解,就是一个中介,所有的消息都经过它发送和接收。服务访问时,一般都会用到代理,代理有分为正向代理和反向代理。接下来,我们就分别介绍一下。
反向代理
我们先说反向代理,反向代理一般都部署在服务端,用来接收处理来自客户端的访问请求。通过 Nginx 提前配置的分发和跳转逻辑找到真实的目标地址,也就是实际的服务提供者。
如果不容易理解的话,我们来看一张图:
看完图,是不是一下子就明白啦。其实,图中向客户端提供服务的服务器对客户端来说是黑盒的,和客户端交互的始终只有一个 Nginx 代理服务,此时,Nginx 扮演的角色就是反向代理服务器。
正向代理
接下来,我们说一说正向代理。正向代理一般部署在客户端,我们使用的 VPN 工具,其实就是一个正向代理,它将本地的请求转换成特定的IP出口的请求,实现顺利访问。
下面也来看张图,加强理解:
看完图,是不是感觉也非常好理解了。
再来举一个例子吧,一般客户端都会设置正向代理的入口,比如微信:
结尾
好啦,今天关于正向代理和反向代理的内容就介绍这么多,感兴趣的小伙伴,赶紧自己动手试试吧,晚安喽!