正向代理与反向代理

文章目录

    • 问题引出
    • 正向代理
    • 反向代理
    • 总结区别

问题引出

  1. 当你想要访问一些网站时,发现时而能进时而又不能,就比如…pixivic、GitHub,或是想要访问YouTube等。此时你会怎么做?
  2. 我们的服务部署在服务器上,本可以通过主机IP、服务端口号直接访问,那为什么不直接让前端通过主机或者主机域名加端口访问呢?

正向代理

原理:代理服务器是独立搭建的,用户将自己的请求发送给代理服务器,代理服务器将客户请求发送给目标服务器,目标服务器将请求结果响应给代理服务器,代理服务器将响应信息返回给用户。

正向代理与反向代理_第1张图片
作用:正向代理隐藏了用户,用户的请求被代理服务器接收替换,等请求到了服务器,服务器并不知道用户是谁。当你用浏览器访问国外的网站时,被拒绝时,你就可以在国外搭建一个代理服务器,如此即可正常访问。

反向代理

原理:用户发送请求到服务器,访问的其实是反向代理服务器(如nginx),但用户不知道。反向代理服务器发送请求到真正的服务器,真正的服务器将数据返回给反向代理服务器,反向代理服务器再将数据返回给用户。
正向代理与反向代理_第2张图片
作用:用户请求过多,服务器会有一个处理的极限。所以使用反向代理服务器接受请求,再用负载均衡将请求分布给多个真实的服务器。既能提高效率还有一定的安全性。如果不采用反向代理,服务器的IP、端口号将直接暴露在Internet(尽管地址转换NAT),外部主机依然可以根据IP、端口号来开采主机安全漏洞,所以我们的服务主机并不直接向外暴露,而是通过nginx等反向代理服务器对外代理相关服务。

总结区别

正向代理隐藏的是用户信心,反向代理隐藏的是服务器信息

你可能感兴趣的:(Web开发,服务器,nginx,运维)