Nginx正向代理与反向代理

什么是代理

下面用一张图来了解什么是代理:
Nginx正向代理与反向代理_第1张图片
代理服务器:代理服务器就是位于发起请求的客户端与原始服务器端之间的一台跳板服务器,正向代理可以隐藏客户端,反向代理可以隐藏原始服务器。

正向代理

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

正向代理服务的特点:是代理服务器 代理的对象是浏览器/客户端,也就是对于目标服务器 来说浏览器/客户端是隐藏的。

比如需要访问某些国外网站,我们可能需要购买

是在我们的用户浏览器端设置的(并不是在远端的服务器设置)。浏览器先访问地址,地址转发请求,并最后将请求结果原路返回来。
Nginx正向代理与反向代理_第2张图片

反向代理

通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中,当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式成为反向代理服务,反向代理是作用在服务器端的,是一个虚拟ip(VIP)

Nginx正向代理与反向代理_第3张图片

总结:

  1. 正向代理,架设在客户机与目标主机之间,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。
  2. 正向代理是客户端知道目的服务器在哪里,然后通过代理服务器去访问客户端不能直接访问的目标服务器,而目标服务器并不知道客户端通过什么来访问的。 即正向代理代理的是客户端 。
  3. 反向代理服务器架设在服务器端,通过缓冲经常被请求的页面来缓解服务器的工作量,将客户机请求转发给内部网络上的目标服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器与目标主机一起对外表现为一个服务器。
  4. 反向代理中,外部网络对于内部网络具体的情况是不可见的,而代理服务器来代理内部网络来返回所要的数据(当然静态文件可以放在Nginx,这个静动分离再说),而服务端知道请求的来源以及数据。
  5. 正向代理代理客户端,反向代理代理服务器。

你可能感兴趣的:(nginx,服务器)