[雷池WAF]长亭雷池WAF配置基于健康监测的负载均衡,实现故障自动切换上游服务器

为了进一步加强内网安全,在原有硬WAF的基础上,又在内网使用的社区版的雷池WAF,作为应用上层的软WAF。从而实现多WAF防护的架构。

经过进一步了解,发现雷池WAF的上游转发代理是基于Tengine的,所以萌生出了一个想法,就是让雷池既可以具备WAF的功能,又具备负载均衡和故障切换的能力。

接下来,开始正题

 1、首先准备一个用于测试的HTTP Server,注意:这里需要实现一下 /status 这个路由,随便返回啥,只要是 200 的状态码就行。

package mainimport ("os""fmt""net/http"
)func Hello1Handler(w http.ResponseWriter, r *http.Request) {fmt.Fprintf(w, "I am 11111")
}func Hello2Handler(w http.ResponseWriter, r *http.Request) {fmt.Fprintf(w, "I am 22222")
}func check(w http.ResponseWriter, r *http.Request){fmt.Fprintf(w, "check")
}func main () {if len(os.Args) > 1 {http.HandleFunc("/hello", Hello1Handler)http.HandleFunc("/status", check)http.ListenAndServe(":8001", nil)} else {http.HandleFunc("/hello", Hello2Handler)http.HandleFunc("/status", check)http.ListenAndServe(":8002", nil)}
}

然后分别启动两个服务,分别在8001和8002端口。

2、在雷池里创建一个新的站点,并把上游服务器指向第一个节点。

测试访问正常,请求被代理到了8001的HTTP Server上

3、修改雷池Nginx的conf文件

文件路径:/data/safeline/resources/nginx/sites-enabled

下面会有好几个配置文件,命名格式为:IF_backend_* ,每新建一个网站,这里就会新增一个类似命名的文件。

这里找到刚新建的网站的conf文件(cat一下,看看监听端口什么的就能分辨出来)

我这里是IF_backend_2,这个文件。然后开始修改文件内的配置。

  • 添加一个上游server:
  • 配置基于健康检测的的负载均衡。这里仅是一些最基础的配置,你也可以根据自己的需求来修改和添加配置。
  • 校验conf文件,并重启雷池的Nginx。

    docker exec safeline-tengine nginx -t
  • 下面的输出,表示校验通过

    然后重启Nginx

    docker exec safeline-tengine nginx -s reload
  • 5、开始测试结果

  • 负载均衡的测试
  • 因为设置的weight是1,两个节点相等,所以请求在平均分配到两个节点上。

  • 单节点掉线的测试
  • 关闭8002上的HTTP Server

    刷新页面,发现此时请求都集中到了8001的HTTP Server上

    至此打完收工,雷池内置的Tengine(Nginx)本身自带了很多模块,常见的负载均衡应该都是可以配置的。再就自行探索吧!

    PS:这里需要注意的是,当你自己修改完配置文件,又在系统内修改的话,自定义的一些配置会被覆盖了。所以提前自己做好备份。

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

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

相关文章

低代码平台在自动驾驶系统开发中的应用

自动驾驶技术的发展正在为交通领域带来革命性的变化。其中关键的一环是自动驾驶系统的开发,该过程通常需要大量的编程工作和复杂的算法。然而,随着低代码技术的崛起,开发者能够大幅简化自动驾驶系统的开发过程,为了降低开发难度和…

如何在gitlub上拉取新的文件到ideacopy with ssh 和 copy with http的区别

1、登录gitlb并输入账号密码 2、选中要pull的分支,点击copy 并选择 copy with ssh或者copy with http (两者区别会在下面进行阐述)点击复制地址 3、打开idea File —New —Project from Version Controller 4、在URL出复制刚才粘贴的地址…

算法与数据结构之链表<一>(Java)

目录 1、链表的定义 2、链表的特点 3、为何要使用链表 4、数组与链表的区别 5、链表的增删查 5.1、在头部插入链表 5.2、在中间插入链表 5.3、删除头节点 5.4、删除中间节点 5.5、查询某个值 6、链表的应用 6.1 如何设计一个LRU缓存算法? 6.2 约瑟夫问题 1、链表的定…

计算机毕业设计-----SSM自习室图书馆座位预约管理系统

项目介绍 一款由jspssmmysql实现的图书馆预约占座管理系统,前端采用的是当下最流行的easyui框架,后台用的ssm(spring、springMVC、mybaits)框架.添加学生和教师时会自动在用户表中注册,定时任务会定时生成座位信息&am…

马蹄集oj赛(双周赛第十八次)

目录 幸运的3 打靶 照亮街道 九次九日九重色 寻找串 竹鼠的白色季节 捉迷藏 好的三连 三角数 买马 可怜的小码哥 花园浇水 高次方程 幸运的3 难度:黄金时间限制: 1秒四占用内存:128M 你有 n 个数,可以将它们两两匹配(即将两数首尾相连),每个…

YOLOv8融合改进 更换检测头为Detect_DyHead同时添加C2f-EMSC和C2f-EMSCP模块

一、Detect_DyHead检测头和C2f-EMSC,C2f-EMSCP模块 详细介绍和代码在往期的博客里: Detect_DyHead: (YOLOv8改进检测头Detect为Detect_Dyhead-CSDN博客) C2f-EMSC和C2f-EMSCP: (YOLOv8改进…

VUE+Springboot实现生成二维码及二维码下载功能

一、Springboot相关 1、pom依赖引入 <!-- 生成二维码 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.3.0</version></dependency><dependency><groupId>c…

leetcode2487.从链表中移除节点

文章目录 题目思路复杂度Code 题目 给你一个链表的头节点 head 。 移除每个右侧有一个更大数值的节点。 返回修改后链表的头节点 head 。 示例 1&#xff1a; 输入&#xff1a;head [5,2,13,3,8] 输出&#xff1a;[13,8] 解释&#xff1a;需要移除的节点是 5 &#xff0…

【C程序设计】C作用域

任何一种编程中&#xff0c;作用域是程序中定义的变量所存在的区域&#xff0c;超过该区域变量就不能被访问。C 语言中有三个地方可以声明变量&#xff1a; 在函数或块内部的局部变量在所有函数外部的全局变量在形式参数的函数参数定义中 让我们来看看什么是局部变量、全局变…

云盘扩容、云盘缩容

天翼云文档地址&#xff1a;https://www.ctyun.cn/document/10027696/10169558 1、输入 growpart命令&#xff0c;检查此云主机是否已安装growpart扩容工具。若出现图中回显信息&#xff0c;则说明已经安装&#xff0c;无需手动安装。 注意 若没有图示信息&#xff0c;请执行…

《PySpark大数据分析实战》-24.数据可视化图表介绍

&#x1f4cb; 博主简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是wux_labs。&#x1f61c; 热衷于各种主流技术&#xff0c;热爱数据科学、机器学习、云计算、人工智能。 通过了TiDB数据库专员&#xff08;PCTA&#xff09;、TiDB数据库专家&#xff08;PCTP…

prometheus基本介绍

官网&#xff1a;https://prometheus.io/docs/introduction/overview/ 中文&#xff1a; https://www.prometheus.wang/ Prometheus 选择 Prometheus 并不是偶然&#xff0c;因为&#xff1a; • Prometheus 是按照 《Google SRE 运维之道》的理念构建的&#xff0c;具有实用…

WSL2-Ubuntu22.04子系统图形化界面搭建与远程桌面连接

提示&#xff1a;文中不提供WSL2子系统搭建步骤&#xff0c;假定子系统已建立好&#xff1a; 文章目录 检查WSL子系统状态图形化界面安装远程桌面连接可能遇到的相关问题xrdp状态异常远程桌面黑屏 检查WSL子系统状态 wsl -l -v如下图所示为正常 图形化界面安装 以此执行如下…

【管理篇 / 登录】❀ 06. macOS下使用USB配置线登录 ❀ FortiGate 防火墙

【简介】飞塔防火墙上都会配有CONSOLE接口&#xff0c;包装里都会配置一根USB配置线&#xff0c;通过这个接口和这根线&#xff0c;我们可以用命令的方式登录飞塔防火墙。随着苹果电脑的普及&#xff0c;我们来学习如何在macOS中使用USB配置线登录飞塔防火墙。 早期飞塔防火墙包…

Java学习路线第六篇:互联网生态(1)

这篇则分享Java学习路线第六part&#xff1a;互联网生态 恭喜你已经成功追到第六章节啦&#xff0c;要被自己的努力感动到了吧&#xff0c;而这节将承担起学完互联网生态的使命&#xff0c;本使命为单向契约&#xff0c;你可选择YES或者选择YES。 Linux Linux从入门到精通视…

淘宝商品类目接口API:获取淘宝商品分类类目信息

cat_get-获得淘宝分类详情 响应参数 名称类型必须示例值描述 info Mix0{"cid": 16, "parent_cid": 0, "name": "其他女装", "is_parent": "true", "status": "normal", "sort_order&q…

【UnityShader入门精要学习笔记】(3)章节答疑

本系列为作者学习UnityShader入门精要而作的笔记&#xff0c;内容将包括&#xff1a; 书本中句子照抄 个人批注项目源码一堆新手会犯的错误潜在的太监断更&#xff0c;有始无终 总之适用于同样开始学习Shader的同学们进行有取舍的参考。 文章目录 复习&#xff08;阶段性总结…

matlab如何标定相机内外参和畸变参数

关于内外参矩阵和畸变矩阵可以学习 https://blog.csdn.net/qq_30815237/article/details/87530011?spm1001.2014.3001.5506 在APP中找到 camera Calibrator 点击 Add Images&#xff0c;导入拍照图片。标定20张左右就够了&#xff0c;然后角度变一下&#xff0c;但不需要变太…

Jupyter Notbook+cpolar内网穿透实现公共互联网访问使用数据分析工作

​​ 文章目录 1.前言2.Jupyter Notebook的安装2.1 Jupyter Notebook下载安装2.2 Jupyter Notebook的配置2.3 Cpolar下载安装 3.Cpolar端口设置3.1 Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 ​​​​ 1.前言 在数据分析工作中&#xff0c;使用最多的无疑就是各…

【C# 使用selenium组件操作浏览器并且截图】

1.背景 需要完成一个统计报表的定时推送功能&#xff0c;所有定时打开统计报表界面进行截图。在网上找了一圈&#xff0c;最后决定使用selenium组件进行操作浏览器。 2.代码 using OpenQA.Selenium.Edge; using OpenQA.Selenium; using System; using System.Collections.Gen…