Nginx系列-正向代理和反向代理

news2024/9/24 21:28:17

Nginx系列-正向代理和反向代理

文章目录

  • Nginx系列-正向代理和反向代理
    • 1. 三个对象
    • 2. 两种场景代理
      • 2.1. 正向代理
      • 2.2. 反向代理
    • 3. 两种场景的对比
      • 3.1 为什么叫做反向代理
      • 3.2 正向代理和反向代理的作用

1. 三个对象

  • 客户端:发出请求到代理,并接收代理的响应
  • 代理服务器:接收客户端的请求,将其转发到目标服务器并接收到响应后再将响应转发到客户端
  • 目标服务器:接收代理转发的请求,处理后返回结果

2. 两种场景代理

2.1. 正向代理

比如说:我要使用VPN访问公司的网络

  • 我就是客户端
  • VPN就是代理
  • 公司网络就是目标服务器

从这个场景我们可以清晰的了解到:我是清楚我的目标服务器的,换句话就是说客户端知道目标服务器,这就是正向代理

2.2. 反向代理

比如说:你要访问某一个网站,该网站是部署在多台服务器上的应用,并使用了一台nginx做了负载均衡和反向代理,用户只用访问nginx服务器的就可以访问到网站,用户在发出请求之前并不知道目标服务器是哪个,目标服务器被nginx反向代理

  • 浏览器就是客户端
  • nginx就是代理
  • 网站就是目标服务器

从这个场景我们可以清晰的了解到:客户端是是不清楚目标服务器的,这就是反向代理

3. 两种场景的对比

3.1 为什么叫做反向代理

  • 这是因为正向代理是通过代理服务器代表客户端向目标服务器发送请求
  • 而反向代理则是代理服务器代表目标服务器接收来自客户端的请求
  • 正向代理的代理对象是客户端,而反向代理的代理对象是服务器

3.2 正向代理和反向代理的作用

正向代理和反向代理都是网络代理服务器,它们在网络通信中起着不同的作用。

  • 正向代理的作用如下:
  1. 访问控制和过滤:正向代理可以作为一种访问控制的手段,限制对特定资源或者网站的访问。它可以根据规则过滤请求,禁止或允许特定的请求通过。
  2. 提供匿名性:正向代理可以隐藏客户端的真实 IP 地址,使其在请求其他服务器时不会直接暴露真实身份和位置。
  3. 访问限制和监测:正向代理可以控制对外部资源的访问,并且监测和记录客户端的请求和响应流量,用于统计分析和安全审计。
  4. 加速访问和缓存:正向代理可以缓存经常被请求的资源,减少响应时间和网络带宽的使用,提高访问速度。
  • 反向代理的作用如下:
  1. 负载均衡:反向代理可以将客户端的请求分发到多个目标服务器,实现负载均衡,平衡服务器的负载,提高网站的性能和可靠性。
  2. 高可用性和容错性:反向代理可以将请求转发到备份服务器,当一个服务器出现故障时,自动切换到其他可用的服务器,提高系统的可用性和容错性。
  3. 安全性:反向代理可以作为前置网关,过滤和检测恶意请求,防止攻击和滥用请求直接到达真实服务器。
  4. SSL 终端:反向代理可以处理客户端和服务器之间的 SSL/TLS 握手,加密和解密流量,提供安全的通信渠道。

总而言之,正向代理和反向代理在网络通信中起到不同的作用,正向代理主要用于客户端访问控制和匿名性,而反向代理主要用于负载均衡、高可用性、安全性和 SSL 终端等功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1263507.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2019年11月20日 Go生态洞察:Go开发者调查启动

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

1128. 等价多米诺骨牌对的数量

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/number-of-equivalent-domino-pa…

主机的具体权限规划:ACL的使用

目的:针对某一用户或某一组来设置特定权限需求,针对上,接着设置 ACL可以针对单一用户,文件,或者目录来进行rwx的权限设置,对于需要特殊权限的设置非常有帮助。 第一,查看文件系统是否支持&…

frida - 2.hook使用

frida hook 方法 下面是frida客户端命令行的参数帮助 Frida两种操作模式 1.attach 模式 将一个脚本注入到 Android 目标进程,即需要App处于启动状态, 这意味着只能从 当前时机往后hook。 frida -U -l myhook.js com.xxx.xxxx参数解释: -U 指定对USB设备操作 -l 指定…

08 木谷博客系统RBAC权限设计

这节内容说一下木谷博客系统的权限设计,采用现在主流的权限模型RBAC,对应关系如下: 以上5张表都在mugu_auth_server这个库中 该部分的服务单独定义在user-boot这个模块中。 将角色、权限对应关系加载到Redis 木谷博客系统在认证中心颁发令牌的时候是将用户的角色保存到令牌…

LabVIEW通过编程将图形类控件的X轴显示为时间戳

LabVIEW通过编程将图形类控件的X轴显示为时间戳 每个版本的LabVIEW中都有属性节点,可以以编程方式调整X轴和Y轴格式。对于不同版本的LabVIEW,这些属性节点无法在同一个位置找到。请参阅以下部分,了解特定版本LabVIEW的相关属性节点的位置。 …

静态住宅IP代理实际应用:它的强大用途你知道吗?

静态住宅IP代理与动态IP代理相比,提供了更稳定的网络身份,使得企业在进行数据采集、区域定位营销和市场研究时更为高效。同时,它也是提高在线隐私保护和避免封禁的有效工具。 通过详细分析,你将能全面了解静态住宅IP代理的应用&a…

C语言题目强化-DAY12

题型指引 一、选择题二、编程题 ★★写在前面★★ 本题库源自互联网,仅作为个人学习使用,记录C语言题目练习的过程,如果对你也有帮助,那就点个赞吧。 一、选择题 1、请阅读以下程序,其运行结果是( &#x…

IDEA不支持Java8了怎么办?

IDEA不支持Java8了怎么办? 01 异常发生场景 当我准备创建一个springboot项目时,发现Java8没了 02 问题的产生及其原因 查阅了官方文档之后,确认了是Spring Boot 不再支持 Java 8,不是我的问题,这一天终于还是来了 0…

互联网架构演变过程梳理和架构思想的学习

文章目录 版权声明业务架构单体模式中台战略去中台化 数据架构单数据库架构主从读写分库分表高速缓存数据多样化分布式文件nosql搜索引擎架构特点 应用架构单机调优动静分离SOA微服务 部署架构单机部署⻆⾊划分应⽤集群多层代理异地访问云平台 架构思想总结 版权声明 本博客的…

数据结构与算法之美学习笔记:27 | 递归树:如何借助树来求解递归算法的时间复杂度?

目录 前言递归树与时间复杂度分析实战一:分析快速排序的时间复杂度实战二:分析斐波那契数列的时间复杂度实战三:分析全排列的时间复杂度内容小结 前言 本节课程思维导图: 今天,我们来讲这种数据结构的一种特殊应用&am…

springcloud进销存管理系统源码

开发说明: jdk1.8,mysql5.7,idea,vscode springcloud springboot mybatis vue elementui 功能介绍: 后台管理: 统计分析:查看产品,采购,销售数量;统计近…

51单片机制作数字频率计

文章目录 简介设计思路工作原理Proteus软件仿真软件程序实验现象测量误差和范围总结 简介 数字频率计是能实现对周期性变化信号频率测量的仪器。传统的频率计通常是用很多的逻辑电路和时序电路来实现的,这种电路一般运行较慢,而且测量频率的范围较小。这…

webpack 使用打包报错 ERROR in node_modules\@types\node\ts4.8\assert.d.ts

报错如下: 解决方式,先查看自己的 node 版本 node -v然后再安装 types/node 对应版本,比如我的如下 npm i types/node14.10.0 -D然后再次打包,就没有报错了

大数据平台/大数据技术与原理-实验报告--部署ZooKeeper集群和实战ZooKeeper

实验名称 部署ZooKeeper集群和实战ZooKeeper 实验性质 (必修、选修) 必修 实验类型(验证、设计、创新、综合) 综合 实验课时 2 实验日期 2023.11.04-2023.11.05 实验仪器设备以及实验软硬件要求 专业实验室&#xff08…

sed命令

目录 一、sed 1.sed命令选项 2.语法选项 3.sed脚本格式 4.搜索替代 5.分组后向引用 1.提取版本号: 2.提取IP地址 3.提取数字权限 6.变量 二、免交互 1.多行重定向 2.免交互脚本 总结:本章主要介绍了seq和免交互的用法及相关知识 一、sed s…

业务建模工具BPMN

目录 一、什么是BPMN 二、业务流程梳理的重要作用 三、BPMN的全图 四、BPMN的组成 1.BPMN的基本元素(2.0) 1.1 流对象(Flow Objects) 1.2 数据(Data) 1.3 连接对象(Connecting Objects&a…

allure修改logo 自定义

无论pytest还是httprunner都适用allure生成报告。那我们就有必要对allure报告进行一些定制。我们先修改logo: 1、给allure.yml插件custom-logo-plugin 找到allure安装的位置,在config文件夹下有一个allure.yml的配置文件。打开它,在最后添加…

香港科技大学广州|智能制造学域博士招生宣讲会—华中科技大学专场

时间:2023年12月08日(星期五)15:00 地点:华中科技大学大学生活动中心A座603 报名链接:https://www.wjx.top/vm/mmukLPC.aspx# 宣讲嘉宾: 胡鹏程 副教授 https://facultyprofiles.hkust-gz.edu.cn/faculty-…

福州大学《嵌入式系统综合设计》 实验八:FFMPEG视频编码

一、实验目的 掌握使用算能平台进行视频编码的流程,包括开发主机环境与云平台的配置,视频编码程序的编写与理解,代码的编译、运行以及学习使用码流分析工具分析视频压缩码流等。 二、实验内容 搭建实验开发环境,编译并运行编码…