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.mzph.cn/news/181302.shtml

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

相关文章

Android : Fragment 传递数据 — 简单应用

示例图: 创建 Fragment new -> Fragment -> Fragment(Blank) MainActivity.java package com.example.fragmentdemo;import androidx.appcompat.app.AppCompatActivity; import androidx.fragment.app.FragmentManager; import andro…

C语言每日一题(41)循环队列

力扣 622 循环队列 题目描述 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。 循环队列的一个好处是我们可以利用这个队列之前…

5W2H分析法

5W2H分析法 5W2H分析法又叫七问分析法。 模型介绍 简单、方便,易于操作的思考(框架)模型,问题分析模型,它可以帮助我们保证思考的严谨与全面,也能给人启发,有着广泛的应用: 提问-可…

AndroidNDK开发之交叉编译

在Android studio2.2以及以上,构建原生库的默认工具是cmake。 CMake是一个跨平台的构建工具,可以使用简单的语句来描述所有平台的安装(编译过程)。 能够输出各种各样的makefile或者project文件。cmake并不直接构建出最终的软件,而是产生其他工…

Web学习笔记

Web学习笔记 flask库前端基础超链接:空连接:图片:视频(音频):嵌套使用列表表格格式化表格input表单系列 网络请求GET方式POST请求通过GET方式获取输入参数通过POST方式获取输入参数注册页面 CSS三种使用方式…

MYSQL存储

注意: 1.如果没有指定的SESSION/GLOBAL,默认是SESSION,会话变量。 2.mysql服务重新启动之后,所设置的全局参数会失效,要想不失效,可以在/etc/my.cnf中配置。 变量 用户定义变量是用户根据需要自己定义变量…

Redis队列stream,Redis多线程详解

Redis 目前最新版本为 Redis-6.2.6 ,会以 CentOS7 下 Redis-6.2.4 版本进行讲解。 下载地址: https://redis.io/download 安装运行 Redis 很简单,在 Linux 下执行上面的 4 条命令即可 ,同时前面的 课程已经有完整的视…

《尚品甄选》:后台系统——权限管理之分类和品牌管理,使用EasyExcel导入导出数据(debug一遍)

文章目录 一、分类管理1.1 表结构介绍1.2 分类列表查询 二、EasyExcel使用2.1 EasyExcel简介2.2 导出功能2.3 导入功能 三、品牌管理3.1 表结构介绍3.2 列表查询3.3 添加品牌3.4 修改品牌3.5 删除品牌 一、分类管理 分类管理就是对商品的分类数据进行维护。 1.1 表结构介绍 分…

缺省参数的声明和定义

首先,函数缺省参数不能同时出现在声明和定义中,如出现则报错: 声明和定义中同时出现缺省参数 ctrlb,编译报错,提示 “test":重定义默认参数:参数1 编译报错 当函数的声明和定义中都出现…

第10关:基数排序

任务要求参考答案问答98 任务描述相关知识 基数排序算法编程要求测试说明 任务描述 本关任务:实现基数排序算法,并将乱序数列变成升序。 相关知识 为了完成本关任务,你需要掌握:1.基数排序算法。 基数排序算法 基数排序是按…

Node.js下载安装教程

一、下载安装包 1、百度网盘自提链接: 链接:https://pan.baidu.com/s/1Bbw895MtUgjlfZylPHCCxw 提取码:x89v 2、进入官网下载 https://nodejs.org/zh-cn/download/ 选择对应版本,我这里选的windows64位版本 二、安装程序 1、…

使用shell快速查看电脑曾经连接过的WiFi密码

此方法只能查看以前连接过的wifi名称和对应的密码 查看连接过的WiFi名称netsh wlan show profiles查看具体的WiFi名称netsh wlan show profile name"你的wifi名称" keyclear

vivado综合分析与收敛技巧1

使用细化视图对 RTL 进行最优化 完成任意实现步骤后使用 report_timing 、 report_timing_summary 或 report_design_analysis 分析时序结果时, 您必须审查关键路径结构 , 了解是否可通过修改 RTL 、使用综合属性或者使用其他综合选项来更有效地将…

LeetCode.24两两交换链表中的节点

LeetCode.24两两交换链表中的节点 1.问题描述2.解题思路3.代码 1.问题描述 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示…

雷达公式实现(matlab)

雷达公式实现 代码来源:《雷达系统分析与设计(MATLAB版)(第三版)》 function [snr] radar_eq(pt,freq,g,sigma,b,nf,loss,range) % This program implements Eq.(1.63) %% Inputs:% pt——峰值功率,W% freq——雷达中心频率,Hz% g——天线…

IntelliJ IDEA 中有什么让你相见恨晚的技巧

一、条件断点 循环中经常用到这个技巧,比如:遍历1个大List的过程中,想让断点停在某个特定值。 参考上图,在断点的位置,右击断点旁边的小红点,会出来一个界面,在Condition这里填入断点条件即可&…

AI旅游:旅游行业的人工智能成熟艺术适应从实践到表现报告

今天分享的是AI系列深度研究报告:《AI旅游:旅游行业的人工智能成熟艺术适应从实践到表现报告》。 (报告出品方:accenture) 报告共计:25页 旅行还没有充分利用AI所能做的一 而旅游业比两年前强多了。公司…

如何通过Portal实现消息集成

在数字化时代浪潮下,信息的流通与交互已变得至关重要,不论是在企业内部日常协作,还是与外部客户的紧密沟通,信息的快速、准确、实时传递都成为了确保业务顺畅进行的关键因素、决策精准的核心要素。 为了满足这种日益增长的需求&a…

flask web开发学习之初识flask(一)

一、概念 flask是一个使用python编写的轻量级web框架,作者为Armin Ronacher(中文名:阿尔敏罗纳彻),它广泛被应用于web开发和API。flask提供了简洁而灵活地方式来构建web应用,它不会强加太多约束&#xff0…

PyCharm简介与安装

pyCharm的作用 PyCharm是一种Python的集成开发环境,带有一整套可以帮助用户在使用Python语言开发时提高效率的工具 pyCharm的集成 pyCharm的分类 PyCharm的下载 网址:https://www.jetbrains.com/pycharm/download/#sectionwindows PyCharm的安装