Nginx安全防护与HTTPS部署实战

目录

一:核心安全配置

1:编译安装nginx

(1)安装支持软件

(2)创建运行用户,组和日志目录

(3)编译安装nginx

(4)添加nginx系统服务

2:隐藏版本号

3:限制危险请求的方法

4:请求限制(cc攻击防御)

(1)使用nginx的limit_reg模块限制请求速率

(2)压力测试验证

5:防盗链

(1)修改 Windows的C:\Windows\System32\drivers\etc\hosts文件,设置域名和IP映射关系

(2)修改两台OpenEuler的hosts文件,设置域名和IP映射时关系。

(3)把图片kgc.png放到源主机(www.aaa.com)的工作目录下

(4)编辑原网站首页文件

(5)测试访问源网站

(6)编辑盗链网站首页文件

(7)测试访问盗链网站(盗链成功)

(8)配置Nginx防盗链

二:高级防护

1:动态黑名单

(1)编辑黑名单配置文件

(2)编辑主配置文件

(3)使用封禁ip测试访问

(4)自动添加黑名单

2.nginxhttps配置

2.1https概念

2.2nginx配置https证书

2.2.1使用openssl 生成证书和私钥生成证书和私钥

2.2.2  nginx启用https

2.2.2通过浏览器验证


一:核心安全配置

1:编译安装nginx

(1)安装支持软件

Nginx的配置及运行需要pcre、zlib等软件包的支持,因此比应预先安装这些软件的开发包(devel),以便提供相应的库和头文件,确保Nginx的安装顺利完成。
[root@localhost ^]# dnf install -y gcc make pcre-deve1 zlib-developenssl-devel perl-ExtUtils-MakeMaker git wget taar

(2)创建运行用户,组和日志目录

[root@localhost~]# useradd -M -s /sbin/nologin nginx
[root@localhost~]# mkdir -p /var/log/nginx
[root@localhost ^]# chown -R nginx:nginx /var/log/nginx

(3)编译安装nginx

[root@localhost ^]# tar zxf nginx-1.26.3.tar.gz
[root@localhost ^]# cd nginx-1.26.3
[root@localhost nginx-1.26.3]# ./configure\
--prefix=/usr/local/nginx\
--user=nginx\
--group=nginx\
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module\        #状态统计模块
--with-http_gzip_static_module
--with-pcre\
--with-stream
[root@localhost nginx-1.26.3]# make && make install

为主程序nginx创建链接文件
[root@localhost nginx-1.26.3]# 1n -s /usr/local/nginx/sbir/nging/usr/local/sbin/

(4)添加nginx系统服务

[root@localhost ^]# vi /lib/systemd/system/nginx. service
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target
[Service]
Type=forking
ExecStartPre=/usr/local/sbin/nginx -t
ExecStart=/usr/local/sbin/nginx
ExecReload=/usr/local/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
User=root
Group=root
[Install]
WantedBy=multi-user.target
[root@localhost~]# systemctl daemon-reload
[root@localhost ^]# systemctl start nginx
[root@localhost ^]# systemctl enable nginx

2:隐藏版本号

在生产环境中,需要隐藏Nginx的版本号,以避免泄漏Ngin的版本,攻击者不能针对特定版本进行攻击。在隐藏版本号之前,可以使用Fiddler 具抓取数据包,查看Nginx版本,也可以在0penEuler中使用命令curl-Ihttp://192.168.10.101/查看


[root@localhost~]# curl -I 192.168.10.101
HTTP/1.1 200 OK
Server: nginx/1.26.3        //版本号
..........//.

修改配置文件
[root@localhost~]# vi /usr/local/nginx/conf/nginx.conf
http
        include         mime.types;
        default_type        application/octet-stream;
server_tokens off;        //隐藏版本号
[root@localhost~]#nginx -t
[root@localhost~]#nginx -s reload
[root@localhost~]# curl -I 192.168.10.101
HTTP/1.1 200 OK        //版本号被隐藏
Server: nginx
//省略部分内容

3:限制危险请求的方法

不安全的请求方式,是潜在的安全风险,TRACE(易引发XST攻击)、PUT/DELETE(文件修改风险)、CONNECT(代理滥用),通过正则表达式四配请求方法,非白名单方法返回444(无响应关闭连接)
修改配置文件


[root@localhost^]# vi /usr/local/nginx/conf/nginx.conf
server
if($request_method !~^(GET|HEAD|POST)$ ) {
        return 444;
}
验证测试请求
测试PUT/DELETE请求

[root@localhost ^]# curl -XPUT -I 192.168.10.101
curl: (52) Empty reply from server
查看access.log
192.168.10.101 - - [11/Mar/2025:18:30:46 +0800] "PUT /HTTP/1.1" 444 0
"cur1/8.4.0"

4:请求限制(cc攻击防御)

CC攻击(ChallengeCollapsar攻击)是一种常见的网络攻击方式,通过大量合法或伪造的小流量请求来耗尽服务器资源,导致正常用户无法访问网站。要在Nginx中有效防止CC攻击,可以采用多种策略和方法。

(1)使用nginx的limit_reg模块限制请求速率

编辑配置文件
[root@localhost~]# vi /usr/local/nginx/conf/nginx.conf
http {
        #定义限制区(10MB内存/每秒10请求
        limit_req_zone $binary_remote_addr zone=req_limit:10m ratte=10r/s
        #其他全局配置...
        server        {
                location   /        {
                root html;
                index index.html index.php;
                limit_req zone=req_limit burst=20 nodelay;

                        }

                }

        ]

关键参数说明:
>limit_req_zone定义共享内存区
>$binary_remote_addr是一个内置变量,用于表示客户端 IP地址的二进制格式
>zone=req_limit:10m创建名为req_limit的共享内存区,大小10M,用来存储客户端 IP
>rate=10r/s限制并发数,每个IP每秒可以发起的请求次数(
>limit_req实施速率限制
>zone=req_limit绑定到预定义的共享内存区
>fburst=20类似与等候区,超出并发数的请求会到等候区,等候区占满后,多余的请求会立刻返回503
>nodelay立即处理突发请求而不延迟,相当于立即处理等候区的请求,多余的请求会立刻返回503

(2)压力测试验证

安装ab测试工具
ApacheBench(简称ab)是Apache HTTP服务器自带的一个轻量级、易用的HTTP服务器性能测试工具。它主要用于评估服务器在并发访问下的性能表现,包括响应时间、吞吐量等关键指标。
[root@localhost~]# dnf install httpd-tools -y
发起测试请求
共发起300个请求,每次发起30个请求
[root@localhost]# ab -n 300 -c 30 http://192.168.10.101/
查看access.log发现大量请求日志状态码503
[root@localhost ^]# tail -300 /usr/local/nginx/logs/access. log | grep -c
503
279

-n 300
表示总请求数为300次,即模拟客户端向服务器发送300次HTTP请求。
-c 30
表示并发用户数为30,即同时有30个请求并行发送到服务器。

5:防盗链

防盗链是一种重要的安全设置,旨在防止未经授权的用户盗用网站(静态)资源。盗链行为不仅侵犯了内容创作者的版权,还可能导致原网站带宽和资源的过度消耗,影响正常用户的访问速度和体验。

(1)修改 Windows的C:\Windows\System32\drivers\etc\hosts文件,设置域名和IP映射关系

192.168.10.101 www.aaa.com
192.168.10.102 www.bbb.com

(2)修改两台OpenEuler的hosts文件,设置域名和IP映射时关系。

192.168.10.101 www.aaa.com
192.168.10.102 www.bbb.com


(3)把图片kgc.png放到源主机(www.aaa.com)的工作目录下

[root@localhost ^]# ls /usr/local/nginx/html
index. html        kgc.png.

(4)编辑原网站首页文件

[root@localhost ^]# vi /usr/local/nginx/html/indexhtml
<html>
        <body>
                <h1>aaa It work!
                <img src="kgc.png
        </body>
</html>

(5)测试访问源网站

www.aaa.com

(6)编辑盗链网站首页文件

[root@localhost `]# dnf -y install httppa
[root@localhost ^]# vi /usr/local/nginx/html/index. httml
<html>
        <body>
                <hl>bbb It work! </hl>
                <img src="http://www.aaa.com/kgc.png
        </body>
</html>

[root@localhost]# systemctl stop firewalld
[root@localhost^]# systemctl start httpd

(7)测试访问盗链网站(盗链成功)

(8)配置Nginx防盗链

[root@localhost ^]# vi /usr/local/nginx/conf/nginx.conf
location ^* \.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|webp|ico)${
        root html;
        valid_referers aaa.com *.aaa.com;
        if($invalid_referer){
                return 403;

        }

}
[root@localhost^]#nginx -t
[root@localhost~]#nginx -s reload

>*\.(jpg|gif|swf)$:这段正则表达式表示匹配不区分大小写,以人.jpg或.gif或.swf结尾的文件;
>Valid_referers:设置信任的网站,可以正常使用图片;
>后面的网址或者域名:referer中包含相关字符串的网址;
>If语句:如果链接的来源域名不在valid_referers所列出的列表中,$invalid_referer为1,则执行后面的操作,即进行重写或返回403页面。

测试访问盗链网站(盗链失败403)

二:高级防护

1:动态黑名单

动态黑名单是Nginx中一种实时拦截恶意请求的安全机制,它允许在不重启服务的情况下,动态更新需要封禁的IP地址或网段。相比静态配置的allow/deny指令,动态黑名单更灵活高效,适用于高并发多变的攻击防护场景。

(1)编辑黑名单配置文件


[root@localhost ^]# vi /usr/local/nginx/conf/blockipss. conf
192.168.1.0/24 1;#封禁整个网段
192.168.10.102 1;#封禁ip
IP地址后的数字含义:
0        "";        #允许
1      403 ;          #完全封禁
2        444;        静默断开
3        503  ;      服务不可用

(2)编辑主配置文件

[root@localhost ^]# vi /usr/local/nginx/conf/nginx.conf
http {
        geo $block_ip {
        default 0;        默认允许访问
include/usr/local/nginx/conf/blockips.conf;#包含黑名单

}
server{
if ($block_ip) {  #判断标记值
return 403;        #封禁动作

                        }

                }

       }

[root@localhost^]# nginx -t

[root@localhost^]# nginx -s reload

>geo:Nginx内置模块指令,专门用于处理IP地址相关的逻辑。基于客IP地址生成一个变量值,用于后续的访问控制判断
>$block_ip:自定义的变量名,存储计算结果(通常为0或1)。
>default0:默认值,表示不在黑名单中的IP允许访问
>if($block ip):当变量值为1时触发封禁逻辑

(3)使用封禁ip测试访问


[root@localhost*]# curl 192.168.10.101
<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx</center>
</body>
</html>

(4)自动添加黑名单


自动封禁访问超过100次的IP
#!/bin/bash
#自动封禁访问超过100次的IP
awk '{print$1}'/var/log/nginx/access.log|sort|uniq -c| sort -nr
| awk'{if($100) print$2"1;"}' >/usr/local/nginx/conf/blockips.conf

uniq-c:统计连续出现的次数,并在行首显示次数
sort-nr:按数值排序

2.nginxhttps配置


2.1https概念

HTTPS,全称HyperText Transfer Protocol over SecureSocket Layer,设计初衷是为了保证数据传输安全。国内大型互联网巨头在2016开始大力推行https,期间关于https的重大事件有:
Google搜索引擎让https的网站在搜索排名中更靠前。
从2017年开始,chrome 浏览器把只采用http的网站标记为不安全网站。
苹果要求App Store中的所有应用都必须使用https加密链接.
微信小程序也要求必须使用https。
新一代的http/2协议的支持需要以https为基础。

2.1.1HTTP为什么不安全
HTTP由于是明文传输,主要存在三大风险:窃听风险、篡改风险、冒充风险。
窃听风险
中间人可以获取到通信内容,由于内容是明文,所以获取文后有安全风险

簒改风险
中间人可以篡改报文内容后再发送给对方,风险极大。

冒充风险
比如你以为是在和某宝通信,但实际上是在和一个钓鱼网站通信。

2.1.2安全通信的四大原则
不难猜到HTTPS就是为了解决上述三个风险而生的,一般我们认为安全的通信需要包括以下四个原则:机密性、完整性,身份认证和不可否认。
机密性:即对数据加密,解决了窃听风险,因为即使被中间人窃听,由于数据是加密的,他也拿不到明文;
完整性:指数据在传输过程中没有被篡改,不多不少,保持原样,中途如果哪怕改了一个标点符号,接收方也能识别出来,从来判定接收报文不合法;

身份认证:确认对方的真实身份,即证明"你妈是你妈"的问题,这样就解决了冒充风险,用户不用担心访问的是某宝结果却在和钓鱼网站通信的问题;
不可否认:即不可否认已发生的行为,比如小明向小红借了1000元,但没打借条,或者打了借条但没有签名,就会造成小红的资金损失。

2.1.3HTTPS通信原理简述

既然HTTP是明文传输的,那我们给报文加密不就行了,既然要加密,我们肯定需要通信双方协商好密钥吧。一种是通信双方使用同一扣密钥,即对称加密的方式来给报文进行加解密。

有人说对这个密钥再次加密不就完了,但对方如果要解密这个密钥,那还是要传加密密钥给对方,依然还是会被中间人截获的,这么看来直接传输密钥无论怎样都无法摆脱俄罗斯套娃的难题,是不可行的。

直接传输密钥无论从哪一端传从上节分析来看是不行了,这里我们再看另一种加密方式:非对称加密。非对称加密即加解密双方使用不同的密钥,一把作为公钥,可以公开的,把作为私钥,不能公开,公钥加密的密文只有私钥可以解密,私钥签名的内容,也只有公钥可以验签。


这样的话对serve来说,保管好私钥,发布公钥给其他client,其他client只要把对称加密的密钥(或用于生成对称加密密钥的信息)使用公钥加密后传给server即可。如此一来由于公钥加密只有私钥能解密,而私钥只有server有,所以能保证client向server传输是安全的,server解密后即可拿到对称加密密钥,这样交换了密钥之后就可以用对称加密密钥通信了。


但是问题又来了,server怎么把公钥安全地传输给client呢????????

如果直接传公钥,也会存在被中间人调包的风险,好像没完没了了一样......

数字证书,解决公钥传输信任问题
如何解决公钥传输问题呢?从现实生活中的场景找答案。员工入职时,企业一般会要求提供学历证明,这个学历必须由第三方权威成机构(CertificateAuthority证书颁发机构,简称CA)即教育部颁发。同理,server也可以向CA申请证书,在证书中附上公钥,然后将证书传给client。证书是由站点管理者向CA申请,申请的时候会提交域名、组织单位信息和公钥等数据(这些数据组成了Certificate Signing Request证书签名请求简称CSR),CA会根据这些信息生成证书

证书的数字签名怎么来的?是使用的CA机构的私钥给CSR(确切来说是CSR生成的摘要信息)进行的签名,这样的话client得用CA的公钥来给签名解密才行,拿到的才是未经篡改合法的证书(私钥签名,公钥签

https总结:
server传输CA颁发的证书给client,client收到证书后使用系统内置的CA证书的公钥来验签,验签通过证明证书是受信任的,证书受信任那么证书中的公钥也就是受信任的,这样的话就解决了公钥传输过程中被调包的风险。

Client拿到server端的公钥后,使用公钥加密会话密钥(也就就是对称加密的密钥),然后发送给服务端,服务端通过私钥解密获得会话密钥(对称加密的密钥),然后就可以安全愉快的进行数据传输了

Ps:
1.这里可能有同学会有疑问,为什么client拿到了server给的公钥,不直接使用公钥进行加密通信,反而用公钥加密会话密钥,用会话密钥来加密通信,多此一举,这是因为会话密钥是对称加密,而对称加密的密钥管理简单且具有更高的加密和解密效率。所以https加密是混合模式,在握手阶段是非对称加密,
在数据传输阶段是对称加密
2.还有个问题,中间人如果也去CA申请一个受信任的证书呢,把server发送的证书截取并替换成自己的行不行呢,答案是不行的,因为client除了要验证证书的合法性外,每个证书中包含的域名也是唯一的

2.2nginx配置https证书


由于ssl证书需要向CA组织申购,实验采用自签名证书(也就是自己给自己签名并颁发证书,当然这种证书是不被信任的)

2.2.1使用openssl 生成证书和私钥生成证书和私钥

创建证书存储目录
[root@localhost]# mkdir -p /etc/nginx/ssl
生成自签名证书
[root@localhost ^]# openssl req -x509 -nodes -days 365 -neewkey rsa:2048
-keyout /etc/nginx/ssl/nginx-selfsigned.key \
-out/etc/nginx/ssl/nginx-selfsigned.crt\
-subj "/C=CN/ST=Beijing/L=Beijing/0=MyOrg/CN=localhost

参数解释:
-x509:生成自签名证书(而非CSR)。
-nodes:不加密私钥(无密码保护)。
-days 365:证书有效期1年。
-keyout:私钥文件。
-out:自签名文件。
-newkey rsa:2048:生成2048位的RSA私钥。
-subj:证书主题信息(按需修改字段)。

Ps:
CA签名证书:
需要由受信任的第三方证书颁发机构(CA)签发。流程如下:
1.用户生成私钥和CSR(证书签名请求)。
2.将CSR提交给CA(如Let'sEncrypt、DigiCert等)。
3.CA机构验证身份后,用CA的私钥对证书签名,生成最终证书。
自签名证书:
证书的颁发者(Issuer)和主体(Subject)是同一个实体(即自己)
无需第三方CA参与,直接用工具(如0penSSL)生成私钥和证书。
签名时使用自己的私钥,而不是CA的私钥。
适用于测试、内部环境或无需公开信任的场景。


2.2.2  nginx启用https

编辑nginx配置文件
[root@localhost ^]#vi /usr/local/nginx/conf/nginx.conf
server   {

listen 443 ssl; #监听 HTTPS 端口
server_namelocalhost; #域名或IP
#指定证书和私钥路径
ssl_certificate        /etc/nginx/ssl/nginx-selfsigned.crt;
ssl_certificate_key  /etc/nginx/ssl/nginx-selfsigned. key;

#SSL协议和加密套件配置(可选,提升安全性)
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers
ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128--GCM-SHA256;
        ssl_prefer_server_ciphers on;
#其他配置(如根目录)
location / {
        root /usr/local/nginx/html;
        index index.html;

        }

}

#可选:将HTTP请求重定向到HTTPS
server   {
        listen 80;

        server_name localhost;
        return 301 https://$host$request_uri;
[root@localhost~]#nginx -t
[root@localhost~]#nginx -s reload

2.2.2通过浏览器验证

访问https://你的服务器ip
浏览器会提示证书不安全(因自签名),选择"高级"--继续前往或信任此证书测试环境可忽略警告)。

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

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

相关文章

DeepSeek API接口调用示例(开发语言C#,替换其中key值为自己的key值即可)

示例&#xff1a; DeepSeek官方接口说明文档&#xff1a;对话补全 | DeepSeek API Docs 官网暂未提供C#代码实现&#xff1a;&#xff08;以下为根据CURL接口C#代码调用&#xff09; using System; using System.Collections.Generic; using System.Linq; using System.Text; …

一文掌握 LVGL 9 的源码目录结构

文章目录 &#x1f4c2; 一文掌握 LVGL 9 的源码目录结构&#x1f9ed; 顶层目录概览&#x1f4c1; 1. src/ — LVGL 的核心源码&#xff08;&#x1f525;重点&#xff09;&#x1f4c1; 2. examples/ — API 示例&#x1f4c1; 3. demos/ — 综合演示项目&#x1f4c1; 4. do…

大物重修之浅显知识点

第一章 质点运动学 例1 知识点公式如下&#xff1a; 例2 例3 例4 例5 例6 第四章 刚体的转动 例1 例2 例3 例4 例5 例6 第五章 简谐振动 例1 例2 例3 第六章 机械波 第八章 热力学基础 第九章 静电场 第十一章 恒定磁场…

安卓的systemservice 、systemserver、systemservicemanage和servicemanage用法

以下是对安卓中SystemService、SystemServer、SystemServiceManager和ServiceManager的讲解和区别&#xff1a; SystemService 定义&#xff1a;是Framework中对应特定功能的服务&#xff0c;供其他模块和App调用&#xff0c;如BatteryService、PowerManagerService等。它是所…

LDO与DCDC总结

目录 1. 工作原理 2. 性能对比 3. 选型关键因素 4. 典型应用 总结 1. 工作原理 LDO LDO通过线性调节方式实现降压&#xff0c;输入电压需略高于输出电压&#xff08;压差通常为0.2-2V&#xff09;&#xff0c;利用内部PMOS管或PNP三极管调整压差以稳定输出电压。其结构简单…

系统的从零开始学习电子的相关知识,该如何规划?

一、基础理论奠基&#xff08;6-12个月&#xff09; 1.1 数学与物理基础 核心内容&#xff1a; 微积分与线性代数&#xff08;高频电路建模必备&#xff09;复变函数与概率论&#xff08;信号处理与通信系统基础&#xff09;电磁场基础&#xff08;麦克斯韦方程组的物理意义&…

(x ^ 2 + 2y − 1) ^ 3 − x ^ 2 * y ^ 3 = 1

二元高次方程 EquationSolver20250509.java package math;import org.apache.commons.math3.analysis.MultivariateFunction; import org.apache.commons.math3.optim.InitialGuess; import org.apache.commons.math3.optim.MaxEval; import org.apache.commons.math3.optim.P…

解决应用程序在JAR包中运行时无法读取类路径下文件的问题

问题情景 java应用程序在IDE运行正常&#xff0c;打成jar包后执行却发生异常&#xff1a; java.io.FileNotFoundException: class path resource [cert/sync_signer_pri_test.key] cannot be resolved to absolute file path because it does not reside in the file system:…

Mac QT水平布局和垂直布局

首先上代码 #include "mainwindow.h" #include "ui_mainwindow.h" #include <QPushButton> #include<QVBoxLayout>//垂直布局 #include<QHBoxLayout>//水平布局头文件 MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), …

uniapp中用canvas绘制简单柱形图,小容量,不用插件——简单使用canvas

uniapp中用canvas绘制简单柱形图&#xff0c;小容量&#xff0c;不用插件——简单使用canvas 完整代码 <template><view><!-- 学习数据 --><!-- 头部选项卡 --><view class"navTab"><view :class"listIndexi?activite:"…

[Unity]-[UI]-[Image] 关于UI精灵图资源导入设置的详细解释

Unity UI Sprite UI资源导入详解图片导入项目Texture TypeTexture ShapeAdvanced Setting 高级设置 图片设置案例常见细节问题 知识点详解来源 UI资源导入详解 Unity中的UI资源有图片、矢量图、字体、预制体、图集、动画等等资源。 这其中图片是最重要以及最基础的资源组成&a…

【递归、搜索和回溯】递归、搜索和回溯介绍及递归类算法例题

个人主页 &#xff1a; zxctscl 专栏 【C】、 【C语言】、 【Linux】、 【数据结构】、 【算法】 如有转载请先通知 文章目录 递归、搜索和回溯递归搜索VS 深度优先遍历 VS 深度优先搜索 VS 宽度优先遍历 VS 宽度优先搜索 VS 暴搜回溯与剪枝 1 面试题 08.06. 汉诺塔问题1.1 分析…

快手618购物节招商启动,国补可叠加跨店满减等大促补贴

5月8日&#xff0c;快手电商在杭州召开「破峰2025」商家大会。会上&#xff0c;快手电商C端产品负责人孔慧介绍了快手电商全域经营年度策略以及新锐商家长效经营方法论&#xff0c;并宣布快手618购物节招商报名正式启动。 信任社区生态是快手电商发展的基石&#xff0c;2025年…

AI服务器通常会运用在哪些场景当中?

人工智能行业作为现代科技的杰出代表&#xff0c;在多个领域当中发展其强大的应用能力和价值&#xff0c;随之&#xff0c;AI服务器也在各个行业中日益显现出来&#xff0c;为各个行业提供了强大的计算能力和处理能力&#xff0c;帮助企业处理复杂的大规模数据&#xff0c;本文…

MySQL高可用方案全攻略:选型指南与AI运维实践

MySQL高可用方案全攻略:选型指南与AI运维实践 引言:当数据库成为业务生命线 在数字化时代,数据库就是企业的"心脏"。一次数据库宕机可能导致: 电商网站每秒损失上万元订单游戏公司遭遇玩家大规模流失金融系统引发连锁反应本文将为你揭秘: MySQL主流高可用方案…

电位器如何接入西门子PLC的模拟量输入

1.设计思考 我现在手上有一个三线10kΩ的滑动变阻器&#xff0c;想让其当作模拟量接入西门子PLC中&#xff0c;外部改变电阻&#xff0c;PLC程序中能看到对应的阻值或电压&#xff0c;这样可以练习模拟量输入这个知识点&#xff01; 2.了解模拟量的种类 模拟量一般有电压型和…

MongoDB培训文档大纲(超详细)

第一章&#xff1a;引言 1.1 什么是MongoDB&#xff1f; 定义&#xff1a; MongoDB 是一个开源的 NoSQL 数据库&#xff0c;基于文档模型存储数据。它允许使用 JSON 格式&#xff08;更具体地说是 BSON&#xff09;来存储结构化和半结构化数据。MongoDB 是一个高性能、可扩展且…

新闻发稿筛选媒体核心标准:影响力、适配性与合规性

1. 评估媒体影响力 权威性与公信力&#xff1a;优先选择央级媒体&#xff0c;其报道常被其他平台转载&#xff0c;传播链条长&#xff0c;加分权重高。 传播数据&#xff1a;参考定海区融媒体中心的赋分办法&#xff0c;关注媒体的阅读量、视频播放量等指标&#xff0c;如阅读…

ATH12K驱动框架架构图

ATH12K驱动框架架构图 ATH12K驱动框架架构图(分层描述)I. 顶层架构II. 核心数据结构层次关系III. 主要模块详解1. 核心模块 (Core)2. 硬件抽象层 (HAL)3. 无线管理接口 (WMI)4. 主机目标通信 (HTC)5. 复制引擎 (CE)6. MAC层7. 数据路径 (DP)IV. 关键数据流路径1. 发送数据流 …

sqli-labs靶场18-22关(http头)

目录 less18&#xff08;user-agent&#xff09; less19&#xff08;referer&#xff09; less20&#xff08;cookie&#xff09; less21&#xff08;cookie&#xff09; less22&#xff08;cookie&#xff09; less18&#xff08;user-agent&#xff09; 这里尝试了多次…