雷池 WAF 搭配阿里云 CDN 使用教程
雷池 WAF(Web Application Firewall)是一款强大的网络安全防护产品,通过实时流量分析和精准规则拦截,有效抵御各种网络攻击。在部署雷池 WAF 的同时,结合阿里云 CDN(内容分发网络)可以显著提升网站的性能和可用性。本文将详细介绍如何将雷池 WAF 和阿里云 CDN 配合使用,实现性能与安全的完美结合。
准备工作
- 域名:1waf.cn
- 服务器: 8.210.149.251
- 阿里云账号: 确保已开通 CDN 服务。
- 雷池 WAF : 雷池 WAF 已经部署在本地环境或云服务器中。
WAF 配置站点
为了方便,我们使用 WAF 自带的静态站点创建一个 demo 站点,此站点监听了 80 端口,后续 CDN 源站配置时使用此端口接入。
CDN 配置域名
填写加速域名(如果是第一次使用需要验证域名,参考阿里云文档即可)
添加源站
选择 IP 方式接入, IP 填写为 WAF 服务器 IP,端口填写为上面 WAF 创建站点时填写的监听端口
配置 CNAME 记录
添加加速域名后,CDN 会为您分配一个CNAME域名。需要在 DNS 服务商处将加速域名的 DNS 解析记录指向分配的 CNAME 域名,成功添加CNAME记录后,CDN加速方可生效。此处以阿里云为例
获取 CNAME 地址
返回阿里云 CDN 域名管理界面,查询加速域名的 CNAME 解析地址
添加 CNAME 解析
添加一个 cname 类型的 dns 解析,值为上面的 cname 地址。注意如果和之前的 A 记录有冲突需要先把冲突的删除才能保存。
确认解析状态
添加完成后回到 CDN 域名管理查询解析是否正常
测试 CDN 效果
可以看到响应里面有一些 CDN 添加的头就说明成功走了 CDN 加速
测试 WAF 防护
测试一个 SQL 注入攻击试试,可以看到被拦截了
修改 IP 获取方式
查询 WAF 攻击日志可以看到阿里云把真实用户 IP 通过 XFF 和 Ali-Cdn-Real-IP 传递过来了
因此我们可以设置为从 XFF 上一级获取即可(或者设置为从 Header 的 Ali-Cdn-Real-IP 拿也行 )
再次攻击查询攻击事件发现 IP 已经是正确的了
总结
通过本文的配置步骤,您可以成功将雷池 WAF 和阿里云 CDN 结合使用,在提高网站性能的同时有效保障安全性。通过 CDN 的全球节点分布,用户可以显著减少访问延迟并提升内容加载速度;而雷池 WAF 的精准防护则能有效拦截各种网络威胁,保障系统稳定运行。这种搭配方案尤其适合对性能和安全性要求高的场景。
相关文章:

雷池 WAF 搭配阿里云 CDN 使用教程
雷池 WAF(Web Application Firewall)是一款强大的网络安全防护产品,通过实时流量分析和精准规则拦截,有效抵御各种网络攻击。在部署雷池 WAF 的同时,结合阿里云 CDN(内容分发网络)可以显著提升网…...

3.银河麒麟V10 离线安装Nginx
1. 下载nginx离线安装包 前往官网下载离线压缩包 2. 下载3个依赖 openssl依赖,前往 官网下载 pcre2依赖下载,前往Git下载 zlib依赖下载,前往Git下载 下载完成后完整的包如下: 如果网速下载不到请使用网盘下载 通过网盘分享的文件…...

【模块一】kubernetes容器编排进阶实战之kubernetes 资源限制
kubernetes 资源限制 kubernetes中资源限制概括 1.如果运行的容器没有定义资源(memory、CPU)等限制,但是在namespace定义了LimitRange限制,那么该容器会继承LimitRange中的 默认限制。 2.如果namespace没有定义LimitRange限制,那么该容器可…...

【开源】一款基于SpringBoot的智慧小区物业管理系统
一、下载项目文件 项目文件源码链接:https://pan.quark.cn/s/3998d958e182如出现网盘空间不够存的情况!!!解决办法是先用夸克手机app注册,然后保存上方链接,就可以得到1TB空间了!!&…...

Goland:专为Go语言设计的高效IDE
本文还有配套的精品资源,点击获取 简介:Goland是JetBrains公司开发的集成开发环境(IDE),专为Go语言设计,提供了高效的代码编辑、强大的调试工具和丰富的项目管理功能。其智能代码补全、强大的调试与测试支…...

云手机与Temu矩阵:跨境电商运营新引擎
云手机与 Temu 矩阵结合的基础 云手机技术原理 云手机基于先进的 ARM 虚拟化技术,在服务器端运行 APP。通过在服务器上利用容器虚拟化软件技术,能够虚拟出多个独立的手机操作系统实例,每个实例等同于一部单独的手机,可独立运行各…...

仓颉编程笔记1:变量函数定义,常用关键字,实际编写示例
本文就在网页版上体验一下仓颉编程,就先不下载它的SDK了 基本围绕着实际摸索的编程规则来写的 也没心思多看它的文档,写的不太明确,至少我是看的一知半解的 文章提供测试代码讲解、测试效果图: 目录 仓颉编程在线体验网址&…...
Python小括号( )、中括号[ ]和大括号{}代表什么
python语言最常见的括号有三种,分别是:小括号( )、中括号[ ]和大括号也叫做花括号{ },分别用来代表不同的python基本内置数据类型。 小括号():struct结构体,但不能改值 python中的小括号( )&am…...
React里使用lodash工具库
安装 使用命令 npm install lodash 页面引入 常见的引入方式 引入整个lodash对象: import _ from lodash按名称引入特定的函数: import { orderBy } from "lodash"; tips: 这两种引入方式都会引入整个lodash库, 体积大&#x…...

【免费分享】mysql笔记,涵盖查询、缓存、存储过程、索引,优化。
概括 本篇笔记涵盖基础查询、视图、存储过程、函数、索引、优化、分库分表。适合在学完mysql后进行时常观看。下面展示部分内容。如果需要可以在文章底部的链接进行下载查看。 简介 数据库 数据库:DataBase,简称 DB,存储和管理数据的仓库…...

C语言-数据结构-图
目录 一,图的概念 1,图的定义 2,图的基本术语 二,图的存储结构 1,邻接矩阵 2,邻接表 三,图的遍历 1,深度优先搜索 2,广度优先搜素 四,生成树和最小生成树 1,生成树的特点: 2,最小生成树 (1)普利姆算法Prim (2)普里姆算法思路 五,最短路径 1,Dijkstra算法 2,Fl…...

android sqlite 数据库简单封装示例(java)
sqlite 数据库简单封装示例,使用记事本数据库表进行示例。 首先继承SQLiteOpenHelper 使用sql语句进行创建一张表。 public class noteDBHelper extends SQLiteOpenHelper {public noteDBHelper(Context context, String name, SQLiteDatabase.CursorFactory fact…...

“宠物服务的跨平台整合”:多设备宠物服务平台的实现
2.1 SSM框架介绍 本课题程序开发使用到的框架技术,英文名称缩写是SSM,在JavaWeb开发中使用的流行框架有SSH、SSM、SpringMVC等,作为一个课题程序采用SSH框架也可以,SSM框架也可以,SpringMVC也可以。SSH框架是属于重量级…...

关于最新MySQL9.0.1版本zip自配(通用)版下载、安装、环境配置
一、下载 从MySQL官网进行下载MySQL最新版本,滑到页面最下面点击社区免费版,(不是企业版) 点击完成后选择自己想要下载的版本,选择下载zip压缩,不用debug和其他的东西。 下载完成后进入解压,注…...

【Halcon】例程讲解:基于形状匹配与OCR的多图像处理(附图像、程序下载链接)
1. 开发需求 在参考图像中定义感兴趣区域(ROI),用于形状匹配和文本识别。通过形状匹配找到图像中的目标对象位置。对齐多幅输入图像,使其与参考图像保持一致。在对齐后的图像上进行OCR识别,提取文本和数字信息。以循环…...

B站推荐模型数据流的一致性架构
01 背景 推荐系统的模型,通过学习用户历史行为来达到个性化精准推荐的目的,因此模型训练依赖的样本数据,需要包括用户特征、服务端推荐的视频特征,以及用户在推荐视频上是否有一系列的消费行为。 推荐模型数据流,即为…...

不安全物联网的轻量级加密:综述
Abstract 本文综述了针对物联网(IoT)的轻量级加密解决方案。这项综述全面覆盖了从轻量级加密方案到不同类型分组密码的比较等多个方面。同时,还对硬件与软件解决方案之间的比较进行了讨论,并分析了当前最受信赖且研究最深入的分组…...
mysql_init的概念和使用案例
mysql_init 是 MySQL C API 中的一个函数,用于初始化一个 MYSQL 结构,这个结构在后续的 MySQL 数据库操作中会被频繁使用。mysql_init 的调用是建立与 MySQL 数据库连接的第一步。 函数原型: MYSQL *mysql_init(MYSQL *mysql);参数说明&…...

3GPP R18 MT-SDT
Rel-17 指定MO-SDT允许针对UL方向的数据包进行小数据包传输。对于DL,MT-SDT(即DL触发的小数据)可带来类似的好处,即 通过不转换到 RRC_CONNECTED来减少信令开销和UE功耗,并通过允许快速传输(小而少见的)数据包(例如用于定位)来减少延迟。 在R17中,NR_SmallData_INACTIVE的工…...

时频转换 | Matlab暂态提取变换transient-extracting transform一维数据转二维图像方法
目录 基本介绍程序设计参考资料获取方式 基本介绍 时频转换 | Matlab暂态提取变换transient-extracting transform一维数据转二维图像方法 程序设计 clear clc % close all load x.mat % 导入数据 x x(1:5120); % 本数据只选择5120个点进行分析 fs 6400 ; % 数据采样频…...
Linux环境-通过命令查看zookeeper注册的服务
假设前置条件如下: 1.root权限用户名:zookeeper 2.zookeeper所在服务器地址:168.7.3.254(非真实ip) 3.zookeeper的bin文件路径:/opt/zookeeper/bin 4.确保zookeeper注册中心已启动 查看注册中心服务如下&a…...
12.vite,webpack构建工具
😺😺 😺1.vite 介绍和对比 🏷️ Vite 是什么? 👉 Vite 是一个 前端构建工具 开发服务器, 可以帮你: • 开发阶段:秒开项目,改代码能瞬间热更新(…...

虚拟机时间同步
一、常见同步方式 常见的虚拟机同步方式有给虚拟机配置ntp、或者用平台提供的agent对时与虚拟机所在的宿主机。第一种依赖网络、第二种依赖平台的agent这个三方工具。 二、利用ptp_kvm.ko来直接和宿主机同步时间 关键组件 ptp_kvm驱动、chrony。 PTP_KVM同步原理 |--------…...

怎么让自己ip显示外省?一文说清操作
在互联网时代,IP地址不仅关联网络连接,还可能影响IP属地显示。那么,手机和电脑用户怎么让自己IP显示外省?一文说清操作要点。 二、4种主流方法详解 要让自己的IP显示为外省地址,主要有以下几种方法: …...

ELK日志管理框架介绍
在小铃铛的毕业设计中涉及到了ELK日志管理框架,在调研期间发现在中文中没有很好的对ELK框架进行介绍的文章,因此拟在本文中进行较为详细的实现的介绍。 理论知识 ELK 框架介绍 ELK 是一个流行的开源日志管理解决方案堆栈,由三个核心组件组…...

sql入门语句-案例
Sql入门 数据库、数据表、数据的关系介绍 数据库 用于存储和管理数据的仓库 一个库中可以包含多个数据表 数据表 数据库最重要的组成部分之一 它由纵向的列和横向的行组成(类似excel表格) 可以指定列名、数据类型、约束等 一个表中可以存储多条数据 数据 想要永久化存储…...

如何思考?分析篇
现代人每天刷 100 条信息,却难静下心读 10 页书。 前言: 我一直把思考当作一件生活中和工作中最为重要的事情。但是我发现当我想写一篇跟思考有关的文章时,却难以下手。因为思考是一件非常复杂的事情,用文字描述十分的困难。 读书…...

vue3: bingmap using typescript
项目结构: <template><div class"bing-map-market"><!-- 加载遮罩层 --><div class"loading-overlay" v-show"isLoading || errorMessage"><div class"spinner-container"><div class&qu…...

[AI绘画]sd学习记录(二)文生图参数进阶
目录 7.高分辨率修复:以小博大8.细化器(Refiner):两模型接力9.随机数种子(Seed):复现图片吧 本文接续https://blog.csdn.net/qq_23220445/article/details/148460878?spm1001.2014.3001.5501…...

常用函数库之 - std::function
std::function 是 C11 引入的通用可调用对象包装器,用于存储、复制和调用任意符合特定函数签名的可调用对象(如函数、lambda、函数对象等)。以下是其核心要点及使用指南: 核心特性 类型擦除 可包装任意可调用对…...