网络安全01--负载均衡

目录

一、环境准备

1.1三台虚拟机

二、开始搭建负载均衡:

2.1准备一下源

2.2正式安装

2.3Nginx安装情况

三、修改配置文件,反向代理达到负载均衡效果

[3.1在 http 部分添加如下负载均衡配置:](#3.1在 http 部分添加如下负载均衡配置:)

3.2简单解释一下server端:

四、最终实现结果:

4.1第一次访问:

4.2刷新:


一、环境准备

1.1三台虚拟机

这里我用的centos,但其实其他的也一样,道理就是这个理

二、开始搭建负载均衡:

2.1准备一下源

为了我们后面下载的快我们首先进行换源操作:

复制代码
cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.backup  #备份采取自愿
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
    -e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos|g' \
    -i.bak \
    /etc/yum.repos.d/CentOS-*.repo

​​​​​ 刚换完源,清除缓存再生成新的缓存:

复制代码
sudo yum makecache

到这一步证明你前面的没任何问题:

2.2正式安装

参考我之前文章,无脑操作

http://t.csdnimg.cn/1r47E

最后有可能访问不到,把自己的防火墙和setenforce关掉即可

复制代码
systemctl status firewalld  #查看状态
systemctl stop firewalld  #关闭防火墙
systemctl disable firewalld.service #我嫌它烦,直接开机自启给关掉了,你们自己看自己情况
setenforce 0

2.3Nginx安装情况

其他两个机子同理

至此三台Nginx环境配置完毕

三、修改配置文件,反向代理达到负载均衡效果

3.1在 http 部分添加如下负载均衡配置:

我使用了 upstream 模块定义了三台后端服务器。然后,在 location / 中使用 proxy_pass 将请求转发到后端服务器,实现的负载均衡

3.2简单解释一下server端:

  1. proxy_set_header Host $host;

    这个指令将请求的 Host 头的值设置为后端服务器接收到的请求头。$host 是一个 Nginx 内置变量,表示客户端请求中的 Host 头的值。

  2. proxy_set_header X-Real-IP $remote_addr;

    这个指令将客户端的真实 IP 地址设置为后端服务器接收到的请求头。$remote_addr 是一个 Nginx 内置变量,表示客户端的 IP 地址。

  3. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    这个指令将包含原始客户端 IP 地址的 X-Forwarded-For 头设置为后端服务器接收到的请求头。$proxy_add_x_forwarded_for 是一个 Nginx 内置变量,表示原始的 X-Forwarded-For 头的值,如果这个头不存在,则添加客户端的真实 IP 地址。

  4. proxy_set_header X-Forwarded-Proto $scheme;

    这个指令将客户端请求使用的协议(HTTP 或 HTTPS)设置为后端服务器接收到的请求头。$scheme 是一个 Nginx 内置变量,表示请求的协议。

当然你可以给内容增加心跳反应,我只是做了简单的测试,方法是大同小异的,nginx也是有很多算法,这里有篇文章写的还不错Nginx的五种算法_nginx算法有哪些-CSDN博客,可以去了解一下

四、最终实现结果:

修改nginx下html中默认访问的内容,我头方便呢,但是原理就是如此,我们此篇文章只研究负载均衡

4.1第一次访问:

4.2刷新:

相关推荐
CS_浮鱼8 分钟前
【Linux】进程控制
linux·运维·网络
人工智能训练1 小时前
Docker中容器的备份方法和步骤
linux·运维·人工智能·ubuntu·docker·容器·nvidia
MasonYyp1 小时前
Docker安装和使用kkfileview
运维·docker·容器
渡我白衣1 小时前
深入 Linux 内核启动:从按下电源到用户登录的全景解剖
java·linux·运维·服务器·开发语言·c++·人工智能
代码炼金术士1 小时前
linux的nginx版本升级
linux·运维·nginx
大柏怎么被偷了2 小时前
【Linux】版本控制器git
linux·运维·服务器
Guheyunyi2 小时前
安全风险监测系统核心技术
运维·网络·人工智能·安全
adnyting3 小时前
【Linux日新月异(四)】CentOS 7进程管理深度指南:掌控系统生命线
linux·运维·centos
9ilk4 小时前
【基于one-loop-per-thread的高并发服务器】--- 项目测试
运维·服务器·c++·后端·中间件
property-4 小时前
服务器开荒:安装宝塔面板
运维·服务器