4.nginx反向代理、负载均衡

nginx反向代理、负载均衡

  • 一、反向代理
    • 1、语法
    • 2、注意事项
    • 3、后端服务器记录客户端真实IP
      • 3.1 在nginx反向代理时添加x-real-ip字段
      • 3.2 后端httpd修改combined日志格式
      • 3.3 后端是nginx的情况
  • 二、负载均衡 upstream模块
    • 1、负载均衡作用
    • 2、调度算法
    • 3、配置应用

一、反向代理

隐藏后端服务器地址信息

1、语法

location uri {proxy_pass 后端服务器地址;
}

需求: 将/mp3的访问请求转交到后端的/music地址

        location /mp3 {proxy_pass http://192.168.140.11/music;}

需求: 将/download请求转交到后端的/xz地址

        location /download {proxy_pass http://192.168.140.11/xz;}

2、注意事项

  • 反向代理时,nginx会将location中的uri地址自动拼接后端服务器地址
        location /first {proxy_pass http://192.168.140.11/;}
  • location中要涉及到正则匹配,后端服务器不支持写具体的uri地址
        location ~ /test {proxy_pass http://192.168.140.11;}

3、后端服务器记录客户端真实IP

3.1 在nginx反向代理时添加x-real-ip字段

        location /mp3 {proxy_pass http://192.168.140.11/music;proxy_set_header X-REAL-IP $remote_addr;}

3.2 后端httpd修改combined日志格式

[root@ca ~]# grep "LogFormat" /etc/httpd/conf/httpd.conf LogFormat "%{X-REAL-IP}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

3.3 后端是nginx的情况

proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;

修改main日志格式

$http_x_forwarded_for

二、负载均衡 upstream模块

1、负载均衡作用

流量分发,提升连接

2、调度算法

  • rr 轮询
    支持权重 weight, 高配置主机处理更多请求
    会话持久问题,利用NoSQL做会话共享

  • sh 源hash
    一段时间内,同一个客户端的请求到达同一个后端服务器
    解决会话持久问题

  • lc 最少连接

3、配置应用

// 定义后端服务器组, 支持健康状态检查
upstream 组名 {[调度算法];server IP:port weight=权重 fail_timeout=时间 max_fails=次数;server IP:port;
}// 
location uri {proxy_pass http://组名;
}
upstream webserver {server 192.168.140.11:80 weight=1 max_fails=3 fail_timeout=2;server 192.168.140.12:80 weight=1 max_fails=3 fail_timeout=2;server 127.0.0.1:8000 backup;    // backup为备份主机
}location / {proxy_pass http://webserver;proxy_set_header X-REAL-IP $remote_addr;
}
C:\Users\admin>curl 192.168.140.10
<h1> web02 </h1>C:\Users\admin>curl 192.168.140.10
<h1> web01 </h1>C:\Users\admin>curl 192.168.140.10
<h1> web02 </h1>

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

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

相关文章

FinRobot:一个由大型语言模型(LLM)支持的新型开源AI Agent平台,支持多个金融专业AI Agent

财务分析一直是解读市场趋势、预测经济结果和提供投资策略的关键。这一领域传统上依赖数据&#xff0c;但随着时间的推移&#xff0c;越来越多地使用人工智能&#xff08;AI&#xff09;和算法方法来处理日益增长的复杂数据。AI在金融领域的作用显著增强&#xff0c;它自动化了…

Netty中半包粘包的产生与处理:短连接、固定长度、固定分隔符、预设长度;redis、http协议举例;网络数据的发送和接收过程

目录 粘包、半包 相关概念 网络数据发送和接收过程 Netty半包粘包解决方案 ByteBuf获取和默认大小 短链接 固定长度 固定分隔符 预设长度 常见协议代码举例 redis协议 http协议 参考链接 粘包、半包 相关概念 程序处理过程中我们会通过缓冲区接收数据&#xff0c…

R语言绘图 | 双Y轴截断图

教程原文&#xff1a;双Y轴截断图绘制教程 本期教程 本期教程&#xff0c;我们提供的原文的译文&#xff0c;若有需求请回复关键词&#xff1a;20240529 小杜的生信笔记&#xff0c;自2021年11月开始做的知识分享&#xff0c;主要内容是R语言绘图教程、转录组上游分析、转录组…

HarmonyOS鸿蒙学习笔记(27)resources目录说明

resources目录说明 目录结构目录说明base目录rawfile目录resfile目录资源组目录 参考资料 目录结构 在HarmonyOS的项目结构中&#xff0c;有resources目录&#xff0c;用于存放应用/服务所用到的资源文件&#xff0c;如图形、多媒体、字符串、布局文件等。关于资源文件&#x…

基于Linux的文件操作(socket操作)

基于Linux的文件操作&#xff08;socket操作&#xff09; 1. 文件描述符基本概念文件描述符的定义&#xff1a;标准文件描述符&#xff1a;文件描述符的分配&#xff1a; 2. 文件描述符操作打开文件读取文件中的数据 在linux中&#xff0c;socket也被认为是文件的一种&#xff…

redis 高可用及哨兵模式 @by_TWJ

目录 1. 高可用2. redis 哨兵模式3. 图文的方式让我们读懂这几个算法3.1. Raft算法 - 图文3.2. Paxos算法 - 图文3.3. 区别&#xff1a; 1. 高可用 在 Redis 中&#xff0c;实现 高可用 的技术主要包括 持久化、复制、哨兵 和 集群&#xff0c;下面简单说明它们的作用&#xf…

jpom ruoyi 发布后端

添加ssh 添加标签 添加仓库 添加构建 构建 命令 APP_NAMEenterprise IMAGE_NAMEenterprise:latest APP_PORT8080 RUN_ENVjenkins cd ruoyi-admin docker stop $APP_NAME || true docker rm $APP_NAME || true docker rmi $IMAGE_NAME || true docker build -f Dockerfil…

排序算法(一) 基础排序算法

排序算法 基础排序算法 排序本质&#xff1a;减小逆序对的过程 在基础排序算法中&#xff0c;将待排序序列分为相对有序区与相对无序区。 每次遍历到数组末尾称为一轮。 冒泡排序(无序区-有序区, O ( n 2 ) O(n^2) O(n2),稳定,就地) 在每一轮中&#xff0c;逐次与下一邻项…

DNF手游攻略:勇士进阶指南!

在即将到来的6月5日&#xff0c;《DNF手游》将迎来一场盛大的更新&#xff0c;此次更新带来了大量新内容和玩法&#xff0c;极大丰富了游戏的体验。本文将为广大玩家详细解析此次更新的亮点&#xff0c;包括新增的组队挑战玩法“罗特斯入门团本”、新星使宠物的推出、宠物进化功…

go语言实现的一个高效,轻量级的文件锁 gflock

在我们对文件进行操作的时候&#xff0c; 如果你不需要你操作的文件被其他协程访问&#xff0c;则就需要使用一个文件锁来对我们操作的文件进行加锁&#xff0c;今天给大家推荐的这个gflock使用也非常简单&#xff1a; 首先安装依赖&#xff1a; go get -u github.com/tekit…

Sectigo EV代码签名证书费用是多少?

随着数字化时代的到来&#xff0c;软件开发者和企业面临着日益严峻的安全挑战。为了确保他们的软件产品免受恶意篡改和仿冒的威胁&#xff0c;代码签名证书应运而生&#xff0c;成为了业界广泛认可的安全解决方案。在众多代码签名证书提供商中&#xff0c;Sectigo以其卓越的信誉…

整理GTX收发器示例工程(高速收发器十一)

前文分析了xilinx官方提供的GTX IP示例工程&#xff0c;该代码的结构比较混乱&#xff0c;本文将该代码进行梳理&#xff0c;形成一个便于使用的模块&#xff0c;后续如果要使用多通道的收发器&#xff0c;多次例化某个模块就行了。 下图是官方例程中GTX IP相关模块的RTL视图&a…

停车场车位引导系统方案升级实施步骤流程是什么,有什么注意事项

停车场车位引导系统是一种现代化的停车管理系统&#xff0c;它通过实时监测车位占用情况&#xff0c;并向驾驶员提供准确的空闲车位导航信息&#xff0c;从而提高停车场的使用效率和用户体验。随着城市交通的快速发展和车辆数量的不断增加&#xff0c;停车场车位引导系统已成为…

薄膜沉积的均匀性怎么计算?

知识星球&#xff08;星球名&#xff1a;芯片制造与封测技术社区&#xff0c;星球号&#xff1a;63559049&#xff09;里的学员问&#xff1a;经常听带我的工程师说膜层的均匀性不好&#xff0c;均匀性是怎么计算的? 什么是薄膜沉积的均匀性&#xff1f;薄膜均匀性指的是薄膜…

Leetcode刷题笔记7

69. x 的平方根 69. x 的平方根 - 力扣&#xff08;LeetCode&#xff09; 假设求17的平方根 解法一&#xff1a;暴力解法 从1开始依次尝试 比如1的平方是1&#xff0c;2的平方是4...直到5的平方&#xff0c;25>17&#xff0c;所以一定是4点几的平方&#xff0c;所以等于4…

WSL2-Ubuntu22.04-配置

WSL2-Ubuntu22.04-配置 准备1. WSL相关命令[^1]2. WSL2-Ubuntu22.04可视化3. WSL2 设置 CUDA4. 设置OpenGL 本文介绍了WSL2的基本使用方法及可视化&#xff0c;着重介绍了GPU和OpenGL的设置。 准备 名称版本windows11wsl2CUDA12.5 1. WSL相关命令1 查看已安装的wsl distribut…

官方小游戏项目

一 项目原理&#xff1a;看广告&#xff0c;操作简单&#xff0c;时间自由&#xff0c;适合利用业余时间来做&#xff0c;一个广告大概在15s-30s之间。 二 介绍&#xff1a;给你开代理权限&#xff0c;你就有独立后台管理系统&#xff0c;监测每台手机每条广告的情况&#xff0…

MySQL数据表的“增删查改“

我们学习数据库, 最重要的就是要学会对数据表表进行"增删查改"(CRUD).(C -- create, R -- retrieve, U -- update, D -- delete) 目录 一. "增"(create) 1. 普通新增 2. 指定列新增 3. 一次插入多行 4. 用insert插入时间 5. 小结 二. "查"…

AI科技,赋能企业财务管理

AI技术已深入千行百业&#xff0c;其实际任务解决能力愈发凸显和强劲。正如乔布斯所强调“技术不是为工程师而生&#xff0c;而是为应用而生”。 胜意科技深度集成业内领先技术&#xff0c;将AI融入到实际的财务工作流中&#xff0c;与OCR、RPA等智能技术组合式输出&#xff0c…

Qt-qrencode生成二维码

Qt-qrencode开发-生成二维码&#x1f4c0; 文章目录 Qt-qrencode开发-生成二维码&#x1f4c0;[toc]1、概述&#x1f4f8;2、实现效果&#x1f4bd;3、编译qrencode&#x1f50d;4、在QT中引入编译为静态库的QRencode5、在Qt中直接使用QRencode源码6、在Qt中使用QRencode生成二…