当前位置: 首页 > news >正文

Docker安装的mysql限制ip访问

1.问题背景

docker安装了mysql服务,服务器为Redhat9,我们希望通过防火墙规则直接限制访问的来源ip,只允许特定ip进行访问,其余ip需要被禁止。

2.排查过程

1.首先尝试了通过firewalld方式添加对应的防火墙规则,

sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="0.0.0.0/0" port protocol="tcp" port="3306" reject'firewall-cmd --add-rich-rule='rule family="ipv4" source address="10.190.126.111" port protocol="tcp" port="3306" accept'sudo firewall-cmd --runtime-to-permanentsudo firewall-cmd --reload

添加后发现其余IP依然可以访问,firewalld并未起作用。

2.查找问题根源

sudo iptables -L -n | grep 3306

在这里插入图片描述
发现docker默认添加了3306端口的放行规则,虽然我在 firewalld 设置了规则,但Docker加的iptables规则优先级更高,所以导致直接放行了。

继续查看DOCKER-USER

sudo iptables -L DOCKER-USER --line-numbers

在这里插入图片描述
是 DOCKER-USER 链默认的第一条,意思是:
如果没有其他规则匹配,就RETURN返回,继续走INPUT链的逻辑。
RETURN 相当于 退出当前链,不继续匹配 DOCKER-USER 后续规则了。

➡️所以后续我们添加的自定义规则(比如 DROP、ACCEPT)一定要加在 RETURN 之前!
如果加在 RETURN 之后,就永远到不了你的规则了,因为前面已经 RETURN 了,后面的根本不会执行。

举个例子:
现在 DOCKER-USER链是这样的:

Chain DOCKER-USER (1 references)
num  target  prot opt source    destination
1    RETURN  all  --  0.0.0.0/0  0.0.0.0/0

如果我们要加规则,比如:
允许 10.161.238.15 访问3306,再全部拒绝其他IP。

我们需要这么加(保证在RETURN前):

iptables -I DOCKER-USER 1 -s 10.161.238.15 -p tcp --dport 3306 -j ACCEPT
iptables -I DOCKER-USER 2 -p tcp --dport 3306 -j DROP

-I 是 插入,第一个参数是位置,1 表示插在最前面。

插完之后,链的顺序就会变成这样:

Chain DOCKER-USER (1 references)
num  target  prot opt source            destination
1    ACCEPT  tcp  --  10.161.238.15      0.0.0.0/0    tcp dpt:3306
2    DROP    tcp  --  0.0.0.0/0          0.0.0.0/0    tcp dpt:3306
3    RETURN  all  --  0.0.0.0/0          0.0.0.0/0

再次查看具体的iptables策略

sudo iptables -L -n

在这里插入图片描述
此时可以看到Chain DOCKER (3 references)和Chain DOCKER-USER (1 references)两部分,关于这两块内容下面是相关解释:

🔥Chain DOCKER
🔥Chain DOCKER-USER

这两个都是 Docker 启动时自己加的链,它们有不同的功能:

链名作用
DOCKERDocker自动管理的链:用来处理 Docker 容器的端口映射,比如docker run -p 3306:3306。你不要直接改这里,Docker会自动覆盖。
DOCKER-USER用户自定义规则链:这是Docker专门留给用户自己加规则的地方,Docker不会动这里。适合你加自己的防火墙规则,比如只让某些IP访问容器。

如果你想限制Docker的3306端口访问,应该:

✅ 加在 DOCKER-USER 链里!

🧠 为什么不能加在 DOCKER 链?
DOCKER 链是Docker内部维护的。

每次你启动、停止容器,Docker会重新生成这里的规则。

你手动加进去的,过一会儿就被覆盖掉了!!

所以官方推荐,如果你有自己的访问控制需求,去动 DOCKER-USER。

目的加在哪
控制容器访问流量(Docker的端口映射)加在 DOCKER-USER
控制本机服务(非Docker容器)访问流量加在 INPUT

3.关于删除规则

用 iptables -L DOCKER-USER --line-numbers 能看到每条规则的编号,比如:

Chain DOCKER-USER (2 references)
num  target     prot opt source               destination
1    ACCEPT     tcp  --  10.161.238.15         anywhere             tcp dpt:3306
2    ACCEPT     tcp  --  10.161.238.16         anywhere             tcp dpt:3306
3    ACCEPT     tcp  --  10.161.238.17         anywhere             tcp dpt:3306
4    DROP       all  --  anywhere              anywhere![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/9dce2c9bbc5b40b49dfe81613af58ea4.png)

🛠️ 你要删除 1-3号规则,方法如下:
因为每删一条,后面的编号都会往前移动,所以需要倒着删!

✅ 正确操作顺序:

iptables -D DOCKER-USER 3
iptables -D DOCKER-USER 2
iptables -D DOCKER-USER 1

先删3,再删2,再删1。
保证每次删除的都是你想删的那条!

为什么要倒着删?

如果你从1开始删,比如删了1,原来的2号规则就变成了新的1号,这样会乱掉,会误删!

✨如果想一口气删掉(比如脚本里),可以写:

for i in 3 2 1; doiptables -D DOCKER-USER $i
done

## 4.关于直接在文件中编辑policy的顺序 **1. 先导出iptables规则到文件**
sudo iptables-save > /tmp/iptables.rules

这样你就得到了一个标准文本文件 /tmp/iptables.rules,可以直接用文本编辑器打开编辑。

2. 打开并编辑
用你喜欢的编辑器,比如 vim 或 nano:

sudo vim /tmp/iptables.rules

文件内容大概长这样:

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -p tcp --dport 22 -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 3306 -j DROP
COMMIT
-A INPUT ... 表示添加一条规则到 INPUT 链。

你可以直接剪切、粘贴这些 -A 开头的行,调整它们的上下顺序。
比如想让 3306 的 DROP 规则排到最前面:

修改成:

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -p tcp --dport 3306 -j DROP
-A INPUT -p tcp --dport 22 -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
COMMIT

3. 保存退出


4. 清空iptables并重新导入新规则
⚠️ 注意:清空后如果规则不对可能断掉SSH,要小心,可以开一个额外的console测试!

#清空规则表
sudo iptables -F#先测试是否有语法错误
sudo iptables-restore --test < /tmp/iptables.rules#正式导入
sudo iptables-restore < /tmp/iptables.rules

5. 关于如何确定mysql的访问ip是多少

1. 通过sql查询最近的访问记录,但这个方式不太全,如果某些库没有在请求那么会被漏掉,所以最好自己整理一下所有库的应用来源IP。
SELECT distinct host FROM information_schema.processlist;

2. 抓包查看具体是哪个IP在访问3306端口

sudo yum install -y tcpdump   # centos/redhat
# 或
sudo apt install -y tcpdump   # ubuntu/debian

抓3306端口的流量

sudo tcpdump -i any port 3306

6. 关于ip段放行的建议

iptables -I DOCKER-USER 1 -s 10.197.216.x -p tcp --dport 3306 -j ACCEPT && \
iptables -I DOCKER-USER 2 -s 10.197.216.x -p tcp --dport 3306 -j ACCEPT && \
iptables -I DOCKER-USER 3 -s 172.17.0.0/16 -p tcp --dport 3306 -j ACCEPT && \
iptables -I DOCKER-USER 4 -p tcp --dport 3306 -j DROP

后续追加新的policy需要用-I来添加到最前面,否则不会生效
iptables -I DOCKER-USER -s 10.161.238.15 -p tcp --dport 3306 -j ACCEPT

也可以直接指定插入的index,即插入到哪个位置,index=2即插入到目前的第一条和第二条中间
iptables -I DOCKER-USER 2 -s 10.161.238.15 -p tcp --dport 3306 -j ACCEPT

其中上面的第三条是比较特殊的,由于我在抓包时发现部分来源IP为172.17.0.0/16开头,而这个网段是来自于docker
在这里插入图片描述

Docker默认bridge网络(默认网络模式)一般是:

172.17.0.0/16

容器起的时候,默认分配的IP就是 172.17.x.x 这种。

所以如果防火墙放行整个 172.17.0.0/16,就能统一解决问题。

有的系统或复杂网络环境,Docker可能用其他网段(比如 172.18.0.0/16),这取决于 Docker 网络配置,但默认就是172.17.0.0/16。

🛠 怎么确认自己机器的Docker网段?
可以在宿主机上执行:

docker network inspect bridge

输出例子:

[{"Name": "bridge","Id": "...","IPAM": {"Config": [{"Subnet": "172.17.0.0/16","Gateway": "172.17.0.1"}]}}
]

✅ 这里 “Subnet”: “172.17.0.0/16” 就是默认的 Docker 网络段。


相关引用文档

https://blog.csdn.net/lumia98/article/details/111276451

相关文章:

Docker安装的mysql限制ip访问

1.问题背景 docker安装了mysql服务&#xff0c;服务器为Redhat9&#xff0c;我们希望通过防火墙规则直接限制访问的来源ip&#xff0c;只允许特定ip进行访问&#xff0c;其余ip需要被禁止。 2.排查过程 1.首先尝试了通过firewalld方式添加对应的防火墙规则&#xff0c; sud…...

怎么样才能在idea中写入spark程序

一、准备环境 1.安装Scala插件 专业版IDEA自带Scala插件&#xff0c;社区版需手动安装 确保插件版本与IDEA版本匹配 2.选择用哪个构建工具 sbt‌&#xff1a;适用于依赖管理简单、快速迭代的项目&#xff0c;需提前安装sbt工具24。 ‌Maven‌&#xff1a;适合熟悉Java生态…...

MySQL的数据类型

目录 数据类型分类 数值类型 tinyint bit ​编辑 小数(float) 小数(decimal) 字符串类型 char varchar 日期和时间类型 String类型 enum set find_ in_ set函数 我们今天来学习MySQL的数据分类。 数据类型分类 MySQL的字符型就是相当于字符串类型&#xff0c;所…...

Vue 中局部指令(directives)的用法详解

在 Vue.js 中&#xff0c;指令是一种特殊的属性&#xff0c;用于在 DOM 元素上绑定特殊行为。除了 Vue 内置的指令&#xff08;如v-model、v-if&#xff09;&#xff0c;还可以自定义指令来封装可复用的功能。 什么是局部指令&#xff1f; 局部指令是在单个组件中定义和使用的…...

mac 基于Docker安装minio服务器

在 macOS 上基于 Docker 安装 MinIO 是一个高效且灵活的方案&#xff0c;尤其适合本地开发或测试环境。以下是详细的安装与配置步骤&#xff0c;结合了最佳实践和常见问题的解决方案&#xff1a; 一、安装 Docker Desktop 下载安装包 访问 Docker 官网&#xff0c;下载适用于 …...

Redis常用数据结构解析:从原理到实战应用

作为一名开发者&#xff0c;我深知Redis在缓存、队列等场景中的重要性。但要用好Redis&#xff0c;必须对其核心数据结构有透彻理解。本文将结合我的实践经验&#xff0c;详细讲解Redis五种最常用的数据结构及其典型应用场景&#xff0c;帮助你在开发中游刃有余。 一、String&…...

Druid监控sql导致的内存溢出

问题 druid监控sql在网页端显示&#xff0c;我的服务插入sql比较大&#xff0c;druid把执行过的sql保存在DruidDataSource类的成员变量JdbcDataSourceStat dataSourceStat&#xff1b; JdbcDataSourceStat类中的LinkedHashMap<String, JdbcSqlStat> sqlStatMap中&#…...

基于Python镜像创建docker镜像时pip install一直出现NewConnectionError的一种解决办法

用dockerfile创建docker镜像&#xff0c;在pip的时候一直是出现错误&#xff1a; 13.21 WARNING: Retrying (Retry(total4, connectNone, readNone, redirectNone, statusNone)) after connection broken by NewConnectionError(<pip._vendor.urllib3.connection.HTTPSConn…...

【机器学习】朴素贝叶斯

目录 一、朴素贝叶斯的算法原理 1.1 定义 1.2 贝叶斯定理 1.3 条件独立性假设 二、朴素贝叶斯算法的几种常见类型 2.1 高斯朴素贝叶斯 (Gaussian Naive Bayes) 【训练阶段】 - 从数据中学习模型参数 【预测阶段】 - 对新样本 Xnew​ 进行分类 2. 2 多项式朴素贝叶斯 (…...

服务器硬件老化导致性能下降的排查与优化

随着企业数字化转型的深入&#xff0c;服务器作为IT基础设施的核心载体&#xff0c;其稳定性与性能直接影响业务连续性。然而&#xff0c;硬件老化导致的性能衰减问题普遍存在且易被忽视。本报告通过系统性分析服务器硬件老化现象&#xff0c;提出多维度排查方法与优化方案&…...

学习记录:DAY19

Docker 部署与项目需求分析 前言 人总是本能地恐惧未知&#xff0c;令生活陷入到经验主义的循环之中。但我们终将面对。今天的目标是把 Docker 部署学完&#xff0c;然后对项目进行需求分析。 日程 下午 4:30&#xff1a;Docker 部署项目部分学完了&#xff0c;做下笔记。晚…...

机器学习中的数据转换:关键步骤与最佳实践

机器学习中的数据转换&#xff1a;关键步骤与最佳实践 摘要 &#xff1a;在机器学习领域&#xff0c;数据是模型的核心&#xff0c;而数据的转换是构建高效、准确模型的关键步骤之一。本文深入探讨了机器学习中数据转换的重要性、常见的数据类型及其转换方法&#xff0c;以及在…...

【C++教程】三目运算符

C的三目运算符&#xff08;条件运算符&#xff09;是一种简洁的条件表达式工具&#xff0c;其形式为 条件 ? 表达式1 : 表达式2。以下是对其用法的详细总结&#xff1a; 1. 基本用法 条件判断&#xff1a;若条件为真&#xff0c;返回表达式1的值&#xff1b;否则返回表达式2…...

鼠标获取坐标 vs 相机获取坐标

Cesium鼠标点击获取坐标 vs 相机视角获取坐标 鼠标点击获取坐标流程图 #mermaid-svg-WwyCUbcFQekWG97C {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-WwyCUbcFQekWG97C .error-icon{fill:#552222;}#mermaid-svg-W…...

HarmonyOS SDK助力鸿蒙版今日水印相机,真实地址防护再升级

今日水印相机是一款真实记录"工作"和"生活"的水印拍照APP。作为专业的可信影像服务平台&#xff0c;今日水印相机依托时间、地点、身份三重数字水印技术&#xff0c;为企业和个人提供考勤打卡、外勤巡检、生活美好时刻记录等场景的可信存证服务。 面对虚拟…...

数组滑动窗口单调栈单调队列trick集【leetcode hot100 c++速查!!!】

文章目录 栈经典模版题-括号最小栈字符串解码每日温度柱状图的最大矩形 堆数组中的第k个最大元素前k个高频元素数据流中的中位数 数组最大子数组和合并区间轮转数组除自身以外数组的乘积 我们尝试将这三类问题放在一个专题中进行讨论&#xff0c;是因为它们有很多公共的部分。 …...

半监督学习与强化学习的结合:新兴的智能训练模式

&#x1f4cc; 友情提示&#xff1a; 本文内容由银河易创AI&#xff08;https://ai.eaigx.com&#xff09;创作平台的gpt-4o-mini模型生成&#xff0c;旨在提供技术参考与灵感启发。文中观点或代码示例需结合实际情况验证&#xff0c;建议读者通过官方文档或实践进一步确认其准…...

C++ 可调用实体 (详解 一站式)

目录 可调用实体 函数对象 函数指针 成员函数指针 空指针的使用&#xff08;了解&#xff09; 可调用实体 讲到调用这个词&#xff0c;我们首先能够想到普通函数和函数指针&#xff0c;在学习了类与对象的基础知识后&#xff0c;还增加了成员函数&#xff0c;那么它们都被…...

架构师与高级工程师:职业差异与进阶之路

“学而不思则罔&#xff0c;思而不学则殆。”——孔子 解释&#xff1a;该名言强调了学习和思考的结合&#xff0c;对应文章中工程师若想晋升为架构师&#xff0c;不能仅满足于对工具的学习&#xff0c;还要深入探究事物本质&#xff0c;培养深度思考能力&#xff0c;体现了思…...

声纹监测技术在新能源汽车的应用场景解析

新能源汽车声纹监测技术可应用于多个场景&#xff0c;以下是详细解析&#xff1a; 故障诊断 电机系统故障检测&#xff1a;新能源汽车的电机在运行过程中会发出特定的声音。通过声纹监测技术&#xff0c;采集电机运行时的声音信号并进行分析&#xff0c;能够及时发现电机轴承磨…...

About why docker application mode taskmanager not down in time

Tips: docker flink application mode 当任务完成或者jobmanager cancel&#xff0c;则taskmanager会因为flink集群机制继续保留监听等待jobmanager发送任务命令&#xff0c;当超过大约6 mins&#xff0c;taskmanager便会自动exited退出。...

2025-4-27-C++ 学习 数组(2)

数组 2025-4-27-C 学习 数组&#xff08;2&#xff09;P2550 [AHOI2001] 彩票摇奖题目描述输入格式输出格式输入输出样例 #1输入 #1输出 #1 说明/提示题解代码 P2615 [NOIP 2015 提高组] 神奇的幻方题目背景题目描述输入格式输出格式输入输出样例 #1输入 #1输出 #1 输入输出样例…...

timerfd定时器时间轮定时器

目录 一、timerfd定时器 二、timerfd定时器代码演示 三、时间轮定时器 一、timerfd定时器 timerfd是一种通过文件描述符管理定时器的机制 #include <sys/timerfd.h> int timerfd_create(int clockid, int flags); 作用&#xff1a;创建定时器的文件描述符 返回值&…...

什么是数据中心代理IP?有哪些用途?

在海外代理IP的选择中&#xff0c;数据中心代理IP是一个热门选项。这些代理服务器为用户分配了非ISP&#xff08;互联网服务提供商&#xff09;提供的IP地址&#xff0c;而是由第三方云服务提供商所提供的&#xff0c;通常位于数据中心内的服务器上&#xff0c;由托管和云公司所…...

机器学习分类模型性能评估:应对类别不平衡的策略与指标

在机器学习的世界里&#xff0c;模型们就像一群努力破案的侦探&#xff0c;而数据就是它们的“犯罪现场”。今天&#xff0c;咱们的主角——一个自命不凡的分类模型&#xff0c;接到了一个看似简单的任务&#xff1a;揪出那些患有罕见疾病的患者。这听起来是不是很容易&#xf…...

论文导读 - 基于边缘计算、集成学习与传感器集群的便携式电子鼻系统

基于边缘计算、集成学习与传感器集群的便携式电子鼻系统 原论文地址&#xff1a;https://www.sciencedirect.com/science/article/abs/pii/S0925400522015684 引用此论文&#xff08;GB/T 7714-2015&#xff09;&#xff1a; WANG T, WU Y, ZHANG Y, et al. Portable electr…...

Molex莫仕连接器:增强高级驾驶辅助系统,打造更安全的汽车

随着对先进、高耗电量的系统的需求日益增长&#xff0c;电气化进程不断加速&#xff0c;汽车行业正处于一个十字路口。现代汽车面临着关键挑战&#xff0c;即满足不断增长的电力需求&#xff0c;特别是高级驾驶辅助系统(ADAS)等关键技术的需求。 由于现今的汽车比以往需要更多的…...

[密码学实战]SDF之密钥管理类函数(二)

[密码学实战]SDF之密钥管理类函数(二) 一、标准解读:GM/T 0018-2023核心要求 1.1 SDF接口定位 安全边界:硬件密码设备与应用系统间的标准交互层 功能范畴: #mermaid-svg-af5D1B1iHx3K8vSU {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16…...

多实例情况下,实例名较长dbca失败

dbca创建数据库&#xff0c;但是失败&#xff0c;提示ORA-01158 看来千锤百炼的dbca脚本还是菜&#xff0c;直觉上讲不应该mount上&#xff0c;看一下Action 本地已存在多个实例且名称前缀类似&#xff0c;下一步应该分析dbca日志和实例的alert.log 改为 一个简短的实例名就…...

模电——PN结

一、铺垫 这篇文章将会吊打一切、只会从电子、电场力的角度来阐述PN结为啥会形成、和变薄、变厚&#xff1b;不再考虑空穴这种东西&#xff1b;——提出空穴的人&#xff0c;真不是东西 我敢打赌&#xff0c;全网&#xff0c;我的说法不一定对&#xff0c;但是绝对是唯一可以…...

c++11 : 特殊类设计

目录 一 设计一个类&#xff1a;只能在堆上创建对象 二 设计一个类&#xff1a;只能在栈上创建对象 三 设计一个类&#xff1a;不能被拷贝 四 设计一个类&#xff1a;不能被继承 五 设计一个类: 只能创建一个对象(单例模式) 六 饿汉和懒汉模式的对比 一 设计一个类…...

算法笔记.kruskal算法求最小生成树

题目&#xff1a;&#xff08;来源&#xff1a;AcWing&#xff09; 给定一个 n 个点 m 条边的无向图&#xff0c;图中可能存在重边和自环&#xff0c;边权可能为负数。 求最小生成树的树边权重之和&#xff0c;如果最小生成树不存在则输出 impossible。 给定一张边带权的无向…...

量子算法调试:Grover算法搜索空间压缩过程可视化方案

一、Grover算法核心原理回顾 Grover算法通过以下两步迭代实现搜索空间压缩: Oracle操作(相位翻转) 标记目标状态: Uω∣x⟩={−∣x⟩x=ω∣x⟩x≠ωUω​∣x⟩={−∣x⟩∣x⟩​x=ωx=ω​ 扩散操作(振幅放大) 执行反转平均操作: D=2∣s⟩⟨s∣−ID=2∣s⟩⟨s∣−I 其…...

零基础搭建AI作曲工具:基于Magenta/TensorFlow的交互式音乐生成系统

引言&#xff1a;当AI遇见莫扎特 “音乐是流动的建筑”&#xff0c;当人工智能开始理解音符间的数学规律&#xff0c;音乐创作正经历着前所未有的范式变革。本文将手把手教你构建一套智能作曲系统&#xff0c;不仅能够生成古典钢琴小品&#xff0c;还能实现巴洛克与爵士风格的…...

springboot项目文件上传到服务器本机,返回访问地址

文件上传到服务器本机&#xff0c;然后给出访问地址&#xff1a; 具体如下&#xff1a; 1、添加必要的工具类依赖 <!-- 文件上传工具类 --><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId>…...

mysql community 8.0.23升级到8.0.42再到8.4.5

近日生产服务器准备正式试运行&#xff0c;数据进入客户的专有网络&#xff0c;于是甲方派了人过来测漏洞&#xff0c;结果扫出一大堆。其间关于mysql的漏洞300多个&#xff0c;吓死人。给出的补丁地址&#xff0c;打开来看&#xff0c;全部是英文&#xff0c;可能是一些什么测…...

ubuntu安装docker,conda,tmux,btop,nvitop

在 Ubuntu 上安装 Docker Engine (使用华为云源) 1. 更新系统软件包 sudo apt update sudo apt upgrade -y2. 安装必要的依赖包 sudo apt install -y \ca-certificates \curl \gnupg \lsb-release \git \vim \wget3. 添加 Docker 的 GPG 密钥 (来自华为云镜像) # 创建用于存…...

大模型在肝硬化腹水风险预测及临床方案制定中的应用研究

目录 一、引言 1.1 研究背景与意义 1.2 研究目的与创新点 1.3 研究方法与数据来源 二、肝硬化及大模型相关理论基础 2.1 肝硬化概述 2.2 大模型技术原理 2.3 大模型在医疗领域的应用现状 三、大模型预测肝硬化腹水术前风险 3.1 术前风险因素分析 3.2 大模型预测术前…...

孙宇晨将出席迪拜Token2049 与特朗普次子共话加密未来

据官方消息,波场TRON创始人孙宇晨将出席5月1日在迪拜举办的Token2049峰会上,并与特朗普次子埃里克特朗普(Eric Trump)进行一场备受瞩目的炉边对话,出席对话的人士还包括特朗普家族支持的去中心化金融项目WLFI(World Liberty Financial)的联合创始人Zach Witkoff。这场对话不仅彰…...

深入理解同源策略与跨域资源共享(CORS)

深入理解同源策略与跨域资源共享&#xff08;CORS&#xff09; 前言 在当今的 Web 开发中&#xff0c;跨域资源请求已成为常见需求。然而&#xff0c;浏览器的同源策略&#xff08;Same-Origin Policy&#xff09;作为最基础的安全机制&#xff0c;限制了不同源之间的资源交互…...

Vue 生命周期钩子总结

Vue 生命周期钩子总结 Vue 组件的生命周期钩子允许在组件不同阶段执行自定义逻辑。以下是各阶段的钩子函数及其用途、触发时机和注意事项&#xff1a; 1. 生命周期阶段概览 Vue 组件的生命周期分为四个主要阶段&#xff1a; 创建&#xff08;Creation&#xff09;&#xff1…...

【解决方案】Linux解决CUDA安装过程中GCC版本不兼容

Linux解决CUDA安装过程中GCC版本不兼容 目录 问题描述 解决方法 安装后配置 问题描述 Linux环境下安装 CUDA 时&#xff0c;运行sudo sh cuda_10.2.89_440.33.01_linux.run命令出现 “Failed to verify gcc version.” 的报错&#xff0c;提示 GCC 版本不兼容&#xff0c;查…...

网络准入控制系统推荐:2025年构建企业网络安全的第一道防线

随着信息技术的飞速发展&#xff0c;企业网络环境日益复杂&#xff0c;阳途网络准入控制系统作为一种先进的网络安全解决方案&#xff0c;其核心是确保网络接入的安全性。 一、网络准入控制系统的基本原理与功能 网络准入控制以“只有合法的用户、安全的终端才可以接入网络”为…...

AI Agent

李宏毅&#xff1a;从零开始搞懂 AI Agent - 知乎台大李宏毅2025 AI Agent新课来了&#xff01; - 知乎读懂AI Agent&#xff1a;基于大模型的人工智能代理 - 知乎 1.什么是AI Agent 一个基于大模型的 AI Agent 系统可以拆分为大模型、规划、记忆与工具使用四个组 件部分。AI A…...

大模型如何应对内容安全:原理、挑战与技术路径探讨

随着大语言模型&#xff08;LLM&#xff09;技术的广泛应用&#xff0c;从AI写作助手到智能客服、再到生成式内容平台&#xff08;AIGC&#xff09;&#xff0c;AI 正以前所未有的速度深入人类社会的各个角落。然而&#xff0c;随之而来的内容安全问题也日益凸显&#xff1a;模…...

Flinkcdc 实现 MySQL 写入 Doris

Flinkcdc 实现 MySQL 写入 Doris Flinkcdc 实现 MySQL 写入 Doris 一、环境配置 Doris&#xff1a;3.0.4 JDK 17 MySQL &#xff08;业务数据库&#xff09;&#xff1a;5.7 MySQL&#xff08;本地数据库&#xff09;&#xff1a;5.7 Flink&#xff1a;flink-1.19.1 flinkc…...

vim粘贴代码格式错乱 排版错乱 缩进错乱 解决方案

从IDE复制代码, 粘贴到vim打开的文件 出现以下格式错乱解决方案 在使用 Vim 编辑器粘贴代码时&#xff0c;出现格式错乱的问题&#xff0c;通常是因为 Vim 的自动缩进功能与粘贴的代码发生了冲突。Vim 默认会尝试对输入的内容进行自动缩进&#xff0c;这会导致粘贴的代码被错误…...

发那科机器人(基本操作、坐标系、I/O通信)

发那科机器人(基本操作、坐标系、I/O通信) 一,机器人基本操作1,坐标系种类2,机器人手动操作一关节运动3,机器人手动操作一直角运动二,坐标系建立1,工具坐标系建立原理及验证方法2,工具坐标系建立步骤3,用户坐标系建立原理及验证方法4,用户坐标系建立步骤三,I/O通信…...

GPU 架构入门笔记

引文位置&#xff1a;https://www.trainy.ai/blog/gpu-utilization-misleading 相关概念是通过 ChatGPT 迅速学习总结而成。 概念&#xff1a; GPU H100 GPU, with 144 SMs 每个 SM&#xff08;streaming multiprocessors&#xff09; 的架构&#xff1a; GPU Utilizati…...

centos7使用yum快速安装Docker环境

一、基础环境设置 1&#xff1a;关闭防火墙和内核安全机制 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 02&#xff1a;配置网络yum源 [rootlocalhost ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Cento…...