nginx-proxy反向代理流程

news2024/11/29 12:54:37

1.浏览器发送请求数据到nginx。

2.nginx先处理请求头,后处理请求体。

client_header_buffer_size                 #ginx可设置客户端上传header缓冲区大小

client_body_buffer_size                        #nginx可设置客户端上传数据缓冲区大小

client_body_temp_path                        #缓冲区不够用向磁盘缓存大小

client_max_body_size                        #限制上传body数据大小,在用户上传时,在http头中会标记content-length大小,以此判断。

client_body_timeout                                #建立tcp连接后不动了的超时时间

client_header_timeout                                #针对header的超时时间

3.nginx在处理body请求体的过程中,可以设置client_boduy_buffer_size这个参数用来设置body缓冲区大小。

4.proxy_request_buffering:该参数设置nginx在读取body请求体过程中是否想上有服务器进行传输,设置on是等完全读到请求体后再向上游服务器发送数据,设置off则是一边读body一边向上游服务器发送数据。

5.读到数据后,根据upstream配置的服务器列表向上游服务器发送数据。

6.加入epoll事件队列,出发回调函数。发送到上游服务器。上游服务器收到请求后返回数据。

nginx接收到请求后触发epoll事件,调用回调函数处理请求。

7.nginx接收上游服务器的数据,在反向代理的网络中,nginx和上游服务器的网络很有可能是内网,网络速度快,如果上有服务器返回数据大,nginx中proxy_buffering如果设置成off,那么nginx对于上游读取到的数据完全不做缓冲,即读多少,向下游发多少,这样会造成nginx与上游服务器的tcp网络一直不能中断。

所以我们可以将proxy_buffering设置成on,那么可以将上游传输的数据缓冲到nginx中,并释放与上游服务器的tcp连接或者复用该连接,同时向下游服务器传输数据。

proxy_buffer_size                #缓冲header里面的数据

proxy_buffering on;                #是否将数据读取到缓冲区。

proxy_buffers 32 64k;                #缓冲区32个64k的内存块

proxy_max_temp_file_size        #像磁盘中写入的数据最大值,默认1G。

proxy_temp_path                        #写入路径

proxy_temp_file_wirte_size                #向临时缓冲区写文件,每次写入大小。

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

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

相关文章

Android 10.0 Launcher3定制化之folder文件夹文件居中显示的功能实现

1.概述 在10.0的系统产品开发中,在对Launcher3的定制开发中的功能,在最近的产品项目中,有需求要求带默认文件夹功能,所以需要对文件夹的ui做定制化功能的修改在文件夹全屏以后,需要对子文件部分做居中处理,在居中显示比较美观,接下来就来处理居中显示的部分. 如图: 2.…

UX设计VSUI设计

UX设计在近年来国内蓬勃发展,许多人对其产生了浓厚的兴趣。那么我们应该如何通过自学来系统地学习UX设计呢?话不多说,上干货! 1、 深入了解UX设计行业 在开始学习之前,需要深入了解UX设计师的工作内容和行业发展前景。确定这是自己想要从事的职业后,再…

Armv8/Armv9 Cache知识大纲分享--思维导图

关键词:cache学习、mmu学习、cache资料、mmu资料、arm资料、armv8资料、armv9资料、 trustzone视频、tee视频、ATF视频、secureboot视频、安全启动视频、selinux视频,cache视频、mmu视频,armv8视频、armv9视频、FF-A视频、密码学视频、RME/CC…

Arm Cache学习资料大汇总

关键词:cache学习、mmu学习、cache资料、mmu资料、arm资料、armv8资料、armv9资料、 trustzone视频、tee视频、ATF视频、secureboot视频、安全启动视频、selinux视频,cache视频、mmu视频,armv8视频、armv9视频、FF-A视频、密码学视频、RME/CC…

【Java接口性能优化】skywalking使用

skywalking使用 提示:微服务中-skywalking使用 文章目录 skywalking使用一、进入skywalking主页二、进入具体服务1.查看接口 一、进入skywalking主页 二、进入具体服务 可以点击列表或搜索后,点击进入具体服务 依次选择日期、小时、分钟 1.查看接口 依次…

Kubernetes(K8s):容器编排的未来是什么?

文章目录 Kubernetes的核心概念和工作原理1. 节点(Nodes)2. 容器3. Pod4. 控制器5. 服务 Kubernetes为什么成为容器编排的首选工具?1. 自动化和可扩展性2. 多云支持3. 生态系统和社区4. 云原生开发 未来趋势:K8s如何继续发展和演进…

Moleculer微服务02

1.安装 Moleculer cli npm i moleculer-cli -g 2.创建微服务项目 moleculer init project micro-moleculer2.1 使用开发工具打开项目,执行命令npm run dev,在您的浏览器中打开 http://localhost:3000/ 如果您喜欢作者的话,帮忙点下关注&am…

Leetcode 69.x的平方根

给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。 示例 1&#xff1…

微服务moleculer01

1.官网地址: Moleculer - Progressive microservices framework for Node.js 2. github代码地址: GitHub - moleculerjs/moleculer: :rocket: Progressive microservices framework for Node.js Moleculer是基于Node.js的一款快速、多功能的微服务框…

docker 安装本地starrocks测试环境

安装文档 Quick start: Deploy StarRocks with Docker deploy_in_docker StarRocks Docs Quick start: Deploy StarRocks with Docker deploy_in_docker StarRocks Docs 镜像版本 https://hub.docker.com/r/starrocks/allin1-ubuntu/tags?page1 docker安装starrocks

【软件工程_UML—StartUML作图工具】startUML怎么画interface接口

StartUML作图工具怎么画interface接口 初试为圆形 ,点击该接口在右下角的设置中->Format->Stereotype Display->Label,即可切换到想要的样式 其他方式 在class diagram下,左侧有interface图标,先鼠标左键选择&#xff0…

【多线程进阶】常见的锁策略

文章目录 前言1. 乐观锁 vs 悲观锁2. 轻量级锁 vs 重量级锁3. 自旋锁 vs 挂起等待锁4. 读写锁 vs 互斥锁5. 公平锁 vs 非公平锁6. 可重入锁 vs 不可重入锁总结 前言 本章节所讲解的锁策略不仅仅是局限于 Java . 任何和 “锁” 相关的话题, 都可能会涉及到以下内容. 这些特性主…

windows系统一键开启和关闭虚拟化

说明 跟虚拟化相关的三个程序 一键开启脚本 REM 开启 Hyper-V 服务 pushd "%~dp0"dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txtfor /f %%i in (findstr /i . hyper-v.txt 2^>nul) do dism /online /norestart /add-package:"%Sy…

一步一招,教你如何制作出成功的优惠促销微传单

在当今的数字化时代,几乎所有的事情都可以在互联网上完成,包括制作宣传单。有很多在线工具可以帮助我们轻松制作出精美的商场促销宣传单。下面就以乔拓云为例,详细介绍如何简单几步制作出让人眼前一亮的商场促销宣传单。 1. 注册并登录乔拓云…

WPS Office for Linux即将面临开源

WPS Office 是一款免费(但不开源)的办公套件,目前已经在 Windows、macOS、Android、iOS 和 Linux 设备上线,由于在界面和功能上模仿了微软 Office 的部分特性,对于那些轻量办公的用户来说已经能够完全驾驭大部分需求。…

三、飞行和射击

目录 1.飞行的实现 2.限制玩家视角 3.射击的实现 4.附录 1.飞行的实现 (1)在Player预制体上挂载Configuration Joint组件,并修改其Y Drive属性 (2) 修改PlayerInput.cs和PlayerController.cs以实现飞行 PlayerIn…

【刷题笔记10.2】LeetCode: 罗马数字转整数

LeetCode: 罗马数字转整数 一、题目描述 二、分析 方法一: 将给定字符串s中的"IV", “IX”, “XL”, “XC”, “CD”, “CM” 全部替换为其他字符如:a, b, c, d, e, f 这种,然后就可以遍历累加了。 s s.replace("IV",…

【数据代理+事件处理+计算属性与监视+绑定样式+条件渲染】

数据代理事件处理计算属性与监视绑定样式条件渲染 1 数据代理1.1 回顾Object.defineProperty方法1.2 数据代理 2 事件处理2.1 绑定监听2.2 事件修饰符2.3 键盘事件 3 计算属性与监视3.1 计算属性3.2 监视属性(侦视属性)3.3 watch对比computed 4 绑定样式4.1 绑定class样式4.2 绑…

Linux命令(一)(目录相关)

目录可以更快找到你想要的命令 1. 命令入门2. 常用目录命令(cd、pwd、ls、cp、rm、mkdir)*cd:用来进入到指定的文件夹*常见操作关于绝对路径和相对路径的说明: *pwd:显示当前工作目录的路径*选项用例 *ls:显示目录中文件及其属性信…

数据结构与算法-(7)---栈的应用-(3)表达式转换

🌈write in front🌈 🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流. 🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如…