nginx:正向代理和反向代理

时间:2023-03-09 23:09:23
nginx:正向代理和反向代理

一、正向代理

  原理:正向代理是一个位于客户端和目标服务器之间的代理服务器(中间服务器)。为了从目标服务器取得内容,客户端向代理服务器发送一个请求,并且指定目标服务器,之后代理向目标服务器转交并且将获得的内容返回给客户端。正向代理的情况下客户端必须要进行一些特别的设置才能使用(代理客户端,客户端需要设置)。

  典型应用场景:*

二、反向代理

  原理:反向代理针对的是服务器,客户端去请求目标服务器的内容,而反向代理就好像目标服务器。并且客户端不需要进行任何设置,反向代理服务器对于客户端来说就是目标服务器,客户端向反向代理发送请求,接着反向代理服务器根据情况把请求转发给真正的目标服务器,然后目标服务器收到反向代理服务器的请求后把该返回的内容返回给反向代理服务器,反向代理服务器再转发给客户端,客户端并不知道反向代理后面的服务,所以不需要客户端做任何设置,只需要把反向代理服务器当成真正的服务器就好了(代理服务器,客户端不需要设置)。

  反向代理服务器避免了客户端直接与目标服务器发生联系,从而保证了目标服务器的安全;而且可以在反向代理服务器和目标服务器之间再添加一道防火墙,设置只能通过反向代理服务器来访问目标服务器,那么就杜绝了外界其他一切异常的访问,在很大程度上保证了服务器的绝对安全;

  典型应用场景:Nginx的反向代理、负载均衡

三、正向代理和反向代理的区别

  1. 正向代理是代理客户端,为客户端收发请求,使真实客户端对服务器不可见;其中proxy和client是同属一个LAN,对服务器是透明的

      用途上:为了在防火墙内的局域网提供访问internet的途径。另外还可以使用缓冲特性减少网络使用率

  2. 反向代理是代理服务器端,为服务器收发请求,使真实服务器对客户端不可见;其中proxy和server是同属一个LAN,对客户端是透明的

   用途上:将防火墙后面的服务器提供给internet用户访问。同时还可以完成诸如负载均衡等功能,客户端根本不知道防火墙后面的服务器

内容借鉴简书以及网络上兄弟姐妹的好文章,万分感谢:https://www.jianshu.com/p/208c02c9dd1d