首页 > 系统相关 >nginx 正向代理和反向代理的理解

nginx 正向代理和反向代理的理解

时间:2023-04-14 13:22:06浏览次数:33  
标签:S3 S2 S1 代理 用户 nginx 反向 服务器

nginx 服务器在我们平常的软件开发中可能还是用到的比较多的,那么有一个问题我们就应该明白,也许让你去实现轻而易举,但说到其中的原理是不是就有点不清楚了。

下面就谈谈我自己对正向代理和反向代理的理解: 首先有一个用户 C,三台服务器 S1、S2 和 S3,S1、S2、S3 在同一局域网内互相可访问,但 S1 对外网开放,S2 和 S3 不对外网开放,还有一份数据资源 D,资源 D 放在服务器 S2 和 S3 上。

nginx 正向代理 这时用户 C 明确知道自己想访问的数据资源 D 在服务器 S2 上,用户 C 想要访问这份资源但是没办法直接访问服务器 S2,用户 C 想到服务器 S1 和 S2 在同一局域网并且互相可访问,而自己能够访问服务器 S1,所以用户 C 就通过服务器 S1 去访问服务器 S2 上的资源 D。那么正向代理就是对于用户 C 来说他是明确知道他要访问的数据资源 D 在哪个服务器上;对于服务器 S1 来说他只充当了用户 C 的中间代理角色;而对于服务器 S2 来说他只知道访问他的资源的是服务器 S1,根本不知道用户 C 的存在。

正向代理的整个流程就是用户 C 访问服务器 S2 上的数据资源 D,但是他是通过借助服务器 S1 来进行访问的,服务器 S1 得到数据资源后再返回给用户 C。

nginx 反向代理 还是刚开始上面说的这些基本条件:用户 C,服务器 S1、S2 和 S3,以及服务器 S2 和 S3 上的数据资源 D。这时用户 C 并不知道数据资源 D 在服务器 S2 和 S3 上面,他只知道访问服务器 S1 可以得到自己想要的资源,于是他每次都是直接访问服务器 S1,只不过提供给用户 C 数据资源的都是服务器 S2 或者 S3。那么反向代理就是对于用户 C 来说他是不知道数据资源 D 具体在哪里,也不知道是由谁提供的;对于服务器 S1 来说每次都接收用户的请求,然后再把请求根据调度策略交给提供资源的服务器 S2 或 S3;对于服务器 S2 和 S3 来说同样也都不知道访问这份资源的真实用户是谁,只是和服务器 S1 进行交互。

反向代理的整个流程就是用户 C 访问服务器 S1 获取数据资源 D,服务器 S1 将请求转交给服务器 S2 或 S3,然后得到相应的资源后再返回给用户 C。

总之,正向代理就是客户端知道服务器端,通过代理连接服务器端。而反向代理就是客户端不知道服务器端,通过代理去连接服务器端,具体是由哪个服务器端提供服务取决于代理的调度方式,即 nginx 中的负载均衡策略。

标签:S3,S2,S1,代理,用户,nginx,反向,服务器
From: https://www.cnblogs.com/DSC1991/p/17318005.html

相关文章

  • nginx-authenticate.conf Nginx配置 新增长链接支持代理
    nginx-authenticate.confNginx配置新增长链接支持代理新增代码proxy_set_headerConnection"";proxy_http_version1.1;proxy_bufferingoff;proxy_cacheoff;文件代码server{listen8888;server_namelocalhost;......
  • ASEMI代理AD8400ARZ10-REEL亚德诺(ADI)芯片AD8400ARZ10-REEL
    编辑:llASEMI代理AD8400ARZ10-REEL亚德诺(ADI)芯片AD8400ARZ10-REEL型号:AD8400ARZ10-REEL品牌:ADI/亚德诺封装:SOIC-8批号:2023+引脚数量:8安装类型:表面贴装型AD8400ARZ10-REEL汽车芯片AD8400ARZ10-REEL应用范围:机械电位计更换可编程滤波器、延迟、时间常数音量控制,平移线路阻抗匹配电源调......
  • ASEMI代理AD8226ARZ-R7亚德诺(ADI)车规级AD8226ARZ-R7
    编辑:llASEMI代理AD8226ARZ-R7亚德诺(ADI)车规级AD8226ARZ-R7型号:AD8226ARZ-R7品牌:ADI/亚德诺封装:SOIC-8批号:2023+安装类型:表面贴装型引脚数量:8类型:车规级芯片工作温度:−40°C~125°CAD8226ARZ-R7应用工业过程控制桥式放大器医疗仪器便携式数据采集多通道系统引脚配......
  • nginx location配置的优先级
        location正则写法location=/{#精确匹配/,主机名后面不能带任何字符串[configurationA]}location/{#因为所有的地址都以/开头,所以这条规则将匹配到所有请求#但是正则和最长字符串会优先匹配[configurationB]}location/documents......
  • Vue2入门之超详细教程六-数据代理
    1、简介这章有点长,希望大家可以耐心看完。在了解数据代理之前需要先了解Object.defineProperty,Object.defineProperty就是给一个对象添加属性用的。数据代理,通过一个对象代理对另一个对象中数据的操作(读/写)。Vue中的数据代理:通过vm对象来代理data对象中的数下......
  • docker启动nginx
    1》首先需要随便启动个nginx容器并进入容器,把nginx的配置项(conf、html、log)拷贝到服务器。命令如下:#htmldockercp容器id:/usr/share/nginx/html服务器路径#logsdockercp容器id:/var/log/nginx服务器路径#confdockercp容器id:/etc/nginx服务器路径注意:配置......
  • Nginx的安装和卸载
    一.安装(centos)1,安装一些依赖包,因为nginx是通过C语言来写成的:yum-yinstallgccpcre-develzlib-developensslopenssl-devel2,下载Nginx安装包yuminstallwget&&wgethttps://nginx.org/download/nginx-1.16.1.tar.gz3,解压缩包tar-zxvfnginx-1.16.1.tar.gzn......
  • nginx报错504 Geteway Timeout的处理
    后端开发同事反馈从页面导入大数据量表格,有时候响应正常,有时候接口返回504 GetewayTimeout报错,通过查看nginx日志报错基本上都是60s左右,原因是:问了开发同事说有时候后端程序处理导入的数据然后落库操作会很慢,即程序执行时间过长,由于proxy_read_timeout参数默认60s,由于后端服......
  • docker 容器操作、应用部署、mysql,redis,nginx、迁移与备份、Dockerfile
    容器操作#启动容器dockerstart容器id#停止容器dockerstop容器id#文件拷贝先创建文件mkdir:文件夹vivimtouch:文件#容器的文件copy到宿主机上(不是在容器内部操作)dockercp容器名称:容器目录需要拷贝的文件或目录dockercp......
  • Nginx 常用配置
    一、rewrite在/usr/share/nginx/html/下创建abc.html文件[root@localhosthtml]#cat/usr/share/nginx/html/81/abc.htmlabcnginx配置如下server{listen81;server_namelocalhost;#access_log/var/log/nginx/host.access.logmain;lo......