当前位置: 首页 > news >正文

对七层代理、四层代理、正向代理、反向代理的认识

一、理解nginx服务代理

Nginx代理有正向和反向代理两种类型,可以基于osi七层模型中的第四层(传输层)和第七层(应用层)进行代理

注:
nginx 一般支持的是7层代理,支持四层代理一般使用 lvs 或者haproxy,但从nginx 从1.9.0 版本开始支持四层代理,但做四层代理时源码编译需要添加 --with-stream模块,这里的–with-stream 是添加四层代理模块

正向代理代理的对象是客户端,反向代理的对象是服务端,在日常使用中,反向代理web服务器这种方式使用得比较多。
Nginx采用C语言进行编写,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名,其特点是占有内存少,并发能力强。
模块化的结构。包括 gzipping, byte ranges, chunked responses,以及 SSI-filter 等 filter。如果由 FastCG或其它代理服务器处理单页中存在的多个 SSI,
则这项处理可以并行运行,而不需要相互等待。
支持 SSL 和 TLSSNI功能。

OSI七层模式:


TCP/IP四层模式:

二、Nginx七层代理和四层代理的区别

在nginx代理中7层代理是写在http模块中的,而4层代理是写在stream模块中,与http模块并列,且做四层代理时源码编译需要添加 
--with-stream模块进行编译

7层和4层代理基于的协议不同,根据OSI七层模型,
第七层是应用层,7层代理主要是协议和内容的交换,7层代理可以 基于url和ip以及cookie和请求头 进行分流

第四层是传输层,4层代理是基于ip和端口的转发,是基于TCP/UDP协议,–with-stream 是添加四层代理模块,可以用来创建其他业务集群,比如ssh,mysql

注:
主要支持的协议有http,htps,smtp,ftp,dns,pop3,dhcp等协议,通常是http代理


★ 针对web服务,七层通过虚拟的 URL 或主机名接收请求,然后再分配到真实的服务器,七层就是基于 URL 等应用层信息的负载均衡;
★ 针对web服务,所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡 设备设置的服务器选择方式,决定最终选择的内部服务器,
它一般走的是tcp,udp协议。

四层代理配置举例:

stream {server {listen 3308;proxy_pass mysql-db;}upstream mysql-db {server 192.20.32.30;server 192.20.32.31;}    
}

注:
四层代理设备将client发送报文中的目标地址(原来为四层代理的ip地址)修改为目标内部服务器的地址,这样client就可以和server建立TCP连接并发送数据
在stream中,server一定要配置port,proxy_pass配置行直接加集群名,**不能加http:// **


七层代理配置举例:

http {upstream web {server 192.20.21.20;server 192.20.21.21;}server {listen 8081;location / {proxy_pass http//web;root html;index index.html index.htm;}}
}

三、关于正向/反向代理区别

正向代理是客户端代理,用户清楚的知道访问的服务器是谁. 保护了客户端信息
反向代理是服务器端代理.用户不清楚访问的真实服务到底是谁. 保护了服务端信息


四、总结:

从nginx代理的配置来看,正向代理和反向代理的配置区别在于proxy_pass的配置
1.正向代理proxy_pass配置的是动态url
2.反向代理proxy_pass配置的是静态服务器


四层、七层代理与正向、反向代理的关系:
1、七层代理可以是正向代理也可以是反向代理,如上方例子中的正反向代理就是基于7层
2、四层代理都是反向代理

Nginx代理与负载均衡的关系
1、在nginx中用到了反向代理,不一定会用负载均衡
2、在nginx中用到了负载均衡,一定会用反向代理
 

相关文章:

对七层代理、四层代理、正向代理、反向代理的认识

一、理解nginx服务代理 Nginx代理有正向和反向代理两种类型,可以基于osi七层模型中的第四层(传输层)和第七层(应用层)进行代理 注: nginx 一般支持的是7层代理,支持四层代理一般使用 lvs 或者ha…...

网络: 五种IO模型

阻塞IO: 在内核将数据准备好之前, 系统调用会一直等待. 所有的套接字, 默认都是阻塞方式 非阻塞IO:若内核还未将数据准备好, 系统调用仍然会直接返回, 并且返回EWOULDBLOCK错误码. 信号驱动: 内核将数据准备好的时候, 使用SIGIO信号通知应用程序进行IO操作 多路转接: 能够同时等…...

AI大模型学习在当前技术环境下的重要性与发展前景

目录 前言1 学科基础与技能要求1.1 数学基础的深厚性1.2 编程能力的必要性1.3 对特定领域业务场景的了解 2 模型结构与算法的优化2.1 模型结构的不断演进2.2 算法优化的重要性2.3 准确性与效率的提升 3 AI大模型学习的应用场景3.1 自然语言处理3.2 计算机视觉3.3 推荐系统 结语…...

【呼市经开区建设服务项目水、电能耗监测 数采案例】

实施方案 针对能耗采集中的水、电能源数据采集,因客观因素条件,数据采集方面存在较大难度。大多数国网电表485接口由于封签限制,不能实施采集,不让拆机接线,采集实施存在困难。水量能耗采集,存在类似问题&a…...

深度学习算法工程师面试常见问题及解答

基础知识和理论: 解释什么是深度学习以及它与机器学习的关系。描述神经网络的基本结构和工作原理。什么是反向传播算法,它是如何工作的?激活函数的作用是什么?常见的激活函数有哪些?什么是损失函数?常见的损…...

OKR与敏捷开发、精益创业等方法如何协同工作?

在快速变化的市场环境中,企业需要更加灵活和高效地应对各种挑战。目标与关键成果法(OKR)、敏捷开发以及精益创业等方法,作为现代企业管理的重要工具,各自在推动企业发展、提高团队效率、优化产品迭代等方面发挥着不可或…...

【ESP32 Arduino】定时器的使用

文章目录 前言一、ESPTIMER定时器的介绍1.1 定时器是什么 二、分频系数2.1 为什么需要分频系数2.2 分频系数怎么计算 三、定时器的使用3.1 初始化定时器对象3.2 设置中断时间3.3 设置回调函数3.4 使能定时器 四、示例代码总结 前言 在嵌入式系统中,定时器是一项重要…...

网络基础(一)初识

1、计算机网络背景 1.1、网络发展 1. 独立模式: 计算机之间相互独立; 2. 网络互联: 多台计算机连接在一起,完成数据共享; 3. 局域网LAN: 计算机数量更多了, 通过交换机和路由器连接在一起; 4. 广域网WAN: 将远隔千里的计算机都连在一起;…...

作业:基于udp的tftp文件传输实例

#include <head.h> #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> #include <errno.h>#define PORT 69 //服务器绑定的端口号 #define IP "192.168.1.107" //服务器的IP地址int do_download(i…...

【数据结构和算法】-贪心算法

贪心算法&#xff08;又称贪婪算法&#xff09;是一种在每一步选择中都采取在当前状态下最好或最优&#xff08;即最有利&#xff09;的选择&#xff0c;从而希望导致结果是全局最好或最优的算法。贪心算法在有最优子结构的问题中尤为有效&#xff0c;它通过将问题分解为一系列…...

路由器里如何设置端口映射?

在互联网时代&#xff0c;我们经常需要将内部网络的服务暴露到公网以便其他人访问。直接将内部网络暴露在公网上存在一定的安全风险。为了解决这个问题&#xff0c;我们可以利用路由器里设置端口映射来实现将特定端口的访问请求转发到内部网络的特定设备上。 端口映射的原理 端…...

M3C芯片——支持工业级HMI应用,集成2D加速、4路串口及2路CAN

M3C芯片是一款基于 RISC-V 的高性能、国产自主、工业级高清显示与智能控制 MCU&#xff0c;配备强大的 2D 图形加速处理器、PNG/JPEG 解码引擎、丰富的接口&#xff0c;支持工业宽温&#xff0c;具有高可靠性、高开放性&#xff0c;可广泛应用于工业自动化控制、HMI人机交互、 …...

如何做时间管理?

前言 本篇是最近学习工作提效系列课程的第一篇&#xff0c;如何做时间管理&#xff1f;关于时间管理的内容老生常谈了&#xff0c;我自己之前也分享过针对时间管理的一些思考&#xff0c;比如 近期对「时间管理」的一些思考&#xff0c; 还有高效能人士的七个习惯的分享【读书…...

三级数据库技术考点(详解!!)

1、 答疑:【解析】分布式数据库系统按不同层次提供的分布透明性有:分片透明性;②位置透明性;③局部映像透明性&#xff0c;位置透明性是指数据分片的分配位置对用户是透明的&#xff0c;用户编写程序时只需 要考虑数据分片情况&#xff0c;不需要了解各分片在各个场地的分配情…...

【技术栈】Redis 企业级解决方案

​ SueWakeup 个人主页&#xff1a;SueWakeup ​​​​​​​ 系列专栏&#xff1a;学习技术栈 ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ 个性签名&…...

(一)Linux+Windows下安装ffmpeg

一丶前言 FFmpeg是一个开源的音视频处理工具集&#xff0c;由多个命令行工具组成。它可以在跨平台的环境中处理、转换、编辑和流媒体处理音视频文件。 FFmpeg支持多种常见的音视频格式和编解码器&#xff0c;可以对音视频文件进行编码、解码、转码、剪辑、合并等操作。它具有广…...

docker的部署与安装以及部署一个docker(容器)应用及docker容器常出现的问题

docker 架构图 一、docker的部署与安装 1、在 CentOS 上安装 Docker 移除旧版本&#xff08;如果有的话&#xff09;&#xff1a;sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-…...

harmonyOS简介及背景

harmonyOS的场景模式18n: 1&#xff08;入口手机&#xff09;8&#xff08;电脑、VR、手环、iPad、智慧屏、&#xff09;–wifi—n(车载、智能家居等所有)harmonyOS不需要考虑软硬件的差异&#xff0c;是一个兼容N种的超级终端harmonyOS干了两件事&#xff1a; &#xff08;1&a…...

最新,955神仙公司名单(非外企)

955 神仙公司名单&#xff08;非外企&#xff09; 往常爆料最多的 955 神仙公司名单通常都是集中在一线城市的外企。 例如下面这张最为流行的名单图&#xff1a; 最近牛客网上有同学整理出了非外企的版本&#xff0c;其中不乏一些耳熟能详的互联网产品。 随手把名单分享给大家。…...

牛客周赛 Round 37 C.红魔馆的馆主

非常恶心的诈骗&#xff0c;手玩了半小时&#xff0c;发现了一堆规律&#xff0c;比如是11的倍数的偶数数位和奇数数位要相等 还搞上了逆元&#xff0c;是5的倍数必须0 or 5结尾&#xff0c;是9的倍数必须数位之和是9的倍数结果做不出来 然后不是构造是纯纯的暴搜 直接暴力看…...

Qwen3-TTS-Tokenizer-12Hz入门到精通:掌握音频编解码核心操作

Qwen3-TTS-Tokenizer-12Hz入门到精通&#xff1a;掌握音频编解码核心操作 1. 音频编解码技术概述 1.1 什么是音频编解码器 音频编解码器是将音频信号在数字域进行压缩和还原的技术组件。它通过特定的算法将原始音频数据转换为更紧凑的表示形式&#xff08;编码&#xff09;&…...

优必选上调出货目标至5000台:万台级量产在即,供应链企业专利“补位”正当时

优必选上调出货目标至5000台&#xff1a;万台级量产在即&#xff0c;供应链企业专利“补位”正当时成都余行10000项创新清单&#xff0c;助零部件企业快速切入人形机器人万亿供应链2026年&#xff0c;优必选将这一年定位为“大规模商业化”之年。Walker S系列出货目标从原计划的…...

nli-distilroberta-base应用案例:智能客服中的句子逻辑判断

nli-distilroberta-base应用案例&#xff1a;智能客服中的句子逻辑判断 1. 项目概述 nli-distilroberta-base是一个基于DistilRoBERTa模型的自然语言推理(NLI)Web服务&#xff0c;专门用于判断两个句子之间的逻辑关系。在智能客服场景中&#xff0c;这项技术可以显著提升对话…...

C语言调用SDMatte API示例:轻量级嵌入式图像处理方案探索

C语言调用SDMatte API示例&#xff1a;轻量级嵌入式图像处理方案探索 1. 引言&#xff1a;嵌入式设备上的图像处理挑战 在智能摄像头、工业视觉检测等嵌入式场景中&#xff0c;设备往往面临算力有限但需要实时图像处理的需求。传统方案要么依赖昂贵的专用芯片&#xff0c;要么…...

数字电路实战:序列检测电路的设计与优化

1. 序列检测电路的基础概念 序列检测电路是数字电路设计中非常实用的功能模块&#xff0c;它的核心任务是识别输入信号中特定的比特序列。想象一下&#xff0c;这就像是在一长串摩斯电码中寻找特定的求救信号&#xff0c;或者是在音乐播放器中检测特定的歌曲前奏。在实际工程中…...

利用Python嵌入式版打造便携式应用:从环境配置到一键分发

1. Python嵌入式版为何成为便携应用神器 第一次接触Python嵌入式版是在2018年给客户部署数据分析工具时。客户IT部门明确要求"不能安装任何软件"&#xff0c;当时差点放弃&#xff0c;直到发现了这个藏在官网下载页角落的"embeddable package"。这个只有8M…...

低空经济“天空之眼”:导航与监视系统全解析

低空经济“天空之眼”&#xff1a;导航与监视系统全解析 引言 想象一下&#xff0c;数百架无人机在城市楼宇间自主穿梭&#xff0c;精准配送、高效巡检&#xff0c;却互不干扰、安全有序。这幅未来图景的背后&#xff0c;是低空经济的“中枢神经”——导航与监视系统在高效运转…...

【AI原生医疗系统落地实战】:SITS2026项目中3大架构决策、2次范式跃迁与1套可复用合规开发框架

第一章&#xff1a;SITS2026案例&#xff1a;AI原生医疗系统开发 2026奇点智能技术大会(https://ml-summit.org) 系统架构设计原则 SITS2026项目摒弃传统“AI医疗系统”的叠加模式&#xff0c;采用AI原生&#xff08;AI-Native&#xff09;范式——将大语言模型、多模态推理与…...

基于Newmark法的车桥耦合动力学求解Matlab程序:不平顺车辆-无砟轨道-桥梁耦合全代码研究

车桥耦合matlab程序。 使用newmark法进行数值积分&#xff0c;考虑不平顺车辆-无砟轨道-桥梁耦合的动力学求解全套代码。无砟轨道-桥梁耦合动力学仿真平台—— 基于 Newmark-β 隐式积分的“车-轨-桥”一体化求解框架一、概述无砟轨道桥梁在高速列车通过时表现出强烈的多体-多尺…...

计算机毕业设计:Python城市空气质量智能监测与预测平台 Django框架 可视化 数据分析 Prophet时间序列 大数据 大模型 深度学习(建议收藏)✅

博主介绍&#xff1a;✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战6年之久&#xff0c;选择我们就是选择放心、选择安心毕业✌ > &#x1f345;想要获取完整文章或者源码&#xff0c;或者代做&#xff0c;拉到文章底部即可与…...