正向代理和反向代理

目录

  • 前言
  • 正文
    • 反向代理
    • 正向代理
  • 结尾

前言

最近一段时间跟 Nginx 打交道有点多,填补了自己知识库中不少空白。之前只是一直听说 Nginx 反向代理功能非常强大,但是从来没有亲手操作和配置过,最近也多多少少体验了一把。说到 Nginx 的方向代理功能,内心不禁要问,是不是正向代理呢?

是的,确实有,而且今天的内容就是来讨论二者的区别与联系。

正文

说到代理,从字面意思理解,就是一个中介,所有的消息都经过它发送和接收。服务访问时,一般都会用到代理,代理有分为正向代理和反向代理。接下来,我们就分别介绍一下。

反向代理

我们先说反向代理,反向代理一般都部署在服务端,用来接收处理来自客户端的访问请求。通过 Nginx 提前配置的分发和跳转逻辑找到真实的目标地址,也就是实际的服务提供者。

如果不容易理解的话,我们来看一张图:

正向代理和反向代理

看完图,是不是一下子就明白啦。其实,图中向客户端提供服务的服务器对客户端来说是黑盒的,和客户端交互的始终只有一个 Nginx 代理服务,此时,Nginx 扮演的角色就是反向代理服务器。

正向代理

接下来,我们说一说正向代理。正向代理一般部署在客户端,我们使用的 VPN 工具,其实就是一个正向代理,它将本地的请求转换成特定的IP出口的请求,实现顺利访问。

下面也来看张图,加强理解:

正向代理和反向代理

看完图,是不是感觉也非常好理解了。

再来举一个例子吧,一般客户端都会设置正向代理的入口,比如微信:

正向代理和反向代理

结尾

好啦,今天关于正向代理和反向代理的内容就介绍这么多,感兴趣的小伙伴,赶紧自己动手试试吧,晚安喽!



作者简介:大家好,我是 liuzhen007,是一位音视频技术爱好者,同时也是CSDN博客专家、华为云享专家、InfoQ 签约作者,欢迎关注我分享更多干货!


上一篇:Node.js 中 fs.renameSync 报错


下一篇:Golang Gin 框架入门介绍(二)