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

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.hqwc.cn/news/228575.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文搞定XMLHttpRequest,AJAX,Promise,Axios及操作实战

XMLHttpRequest,AJAX,Promise,Axios都是发送异步请求的工具,只是使用的场合和方式有所不同。都是一种用于创建快速动态网页的技术 1、认识同步请求和异步请求? 1.1、认识同步请求? 1、我们点击淘宝首页的男装,进入男装页面的这…

猜数字游戏

需求目标 这个游戏窗口要求玩家猜一个1到100之间的数字。玩家可以在文本框中输入自己的猜测,并点击提交按钮进行验证。游戏会给出相应的提示,直到玩家猜中正确的数字为止。 效果 源码 /*** author lwh* date 2023/11/28* description 猜数字游戏**/ i…

采集工具-免费采集器下载

在当今信息时代,互联网已成为人们获取信息的主要渠道之一。对于研究者和开发者来说,如何快速准确地采集整个网站数据是至关重要的一环。以下将从九个方面详细探讨这一问题。 确定采集目标 在着手采集之前,明确目标至关重要。这有助于确定采集…

Linux ps命令详解:如何查看进程的PID、占用的CPU和内存使用率、虚拟内存大小等信息(附实例教程和注意事项)

Linux ps命令介绍 Linux ps命令,全称为process status,是一个非常实用的命令,用于显示当前进程的状态。它的功能类似于Windows的任务管理器。通过ps命令,我们可以查看到进程的PID、占用的CPU和内存使用率、虚拟内存大小、实际内存…

C++数据结构:图

目录 一. 图的基本概念 二. 图的存储结构 2.1 邻接矩阵 2.2 邻接表 三. 图的遍历 3.1 广度优先遍历 3.2 深度优先遍历 四. 最小生成树 4.1 最小生成树获取策略 4.2 Kruskal算法 4.3 Prim算法 五. 最短路径问题 5.1 Dijkstra算法 5.2 Bellman-Ford算法 5.3 Floyd-…

零信任安全:远程浏览器隔离(RBI)的重要性

引言 在当今数字化时代,网络安全已成为个人和企业关注的焦点。随着网络攻击和恶意软件的不断增加,远程浏览器隔离(RBI)SAAS系统变得至关重要。本文将深入探讨远程浏览器隔离系统的重要性,以及它如何帮助用户保护其网络免受恶意软件和网络攻击…

5V摄像机镜头驱动IC GC6208,可用于摄像机,机器人等产品中可替代AN41908

GC6208是一个镜头电机驱动IC摄像机和安全摄像机。该设备集成了一个直流电机驱动器的Iris的PID控制系统,也有两个通道的STM电机驱动器的变焦和对焦控制。 芯片的特点: 内置用于Iris控制器的直流电机驱动器 内置2个STM驱动程序,用于缩放和…

离散数学-集合论基础

3.1集合的基本概念 1)集合及元素 2)集合的表示 3)集合的关系 4)特殊集合 3.2集合的运算 并、交、差、对称差 3.3集合的划分与覆盖 3.4排斥包含管理 3.1集合的基本概念 1)集合及元素 将某种具有同种属性的个体…

Alibaba Java诊断工具Arthas查看Dubbo动态代理类

原创/朱季谦 阅读Dubbo源码过程中&#xff0c;会发现&#xff0c;Dubbo消费端在做远程调用时&#xff0c;默认通过 Javassist 框架为服务接口生成动态代理类&#xff0c;调用javassist框架下的JavassistProxyFactory类的getProxy(Invoker invoker, Class<?>[] interfac…

如何使用企业微信 WorkTool API 开源框架快速开发企微聊天机器人(详细教程)

WorkTool 基本框架概述 WorkTool 是一个依附于企业微信来运行的无人值守群管理机器人程序&#xff0c;WorkTool 开源&#xff0c;并且永久免费。您可以使用本应用程序来自动执行一个自己企业微信里的账号&#xff08;当做机器人账号&#xff09;可通过后台调用对应的 API 来驱…

【pytorch】从yolo的make_grid理解torch.meshgrid、torch.stack

文章目录 简述1、torch.meshgrid 创建行列坐标2、torch.stack 结合行列坐标3、通过view函数扩展维度 简述 yolo检测 make_grid创建网格代码如下&#xff0c;那么什么是torch.meshgrid? def _make_grid(nx20, ny20):yv, xv torch.meshgrid([torch.arange(ny), torch.arange(…

Shell - cron_protect.sh 监控 Python、Streaming 程序

目录 一.引言 二.Flink 程序监控 1.shell 脚本 2.crontab 配置 三.Python 程序监控 1.shell 脚本 2.crontab 配置 四.总结 一.引言 业务有流式处理数据的需求&#xff0c;需要 7x24 通过 Flink Python 程序进行处理。为了监控 Flink 与 Python 的程序运行状态并在程…