网络诚信 网站应怎么做,怎么建设淘客自己的网站、,许昌网页制作,个人网站能 做淘客吗文章目录 1. 前言2. 安装插件2.1 编译2.2 客户端2.3 服务端 3. 测试 1. 前言
为保证用户敏感配置数据的安全#xff0c;Nacos提供了配置加密的新特性。降低了用户使用的风险#xff0c;也不需要再对配置进行单独的加密处理。
前提条件#xff1a;
版本:老版本暂时不兼容Nacos提供了配置加密的新特性。降低了用户使用的风险也不需要再对配置进行单独的加密处理。
前提条件
版本:老版本暂时不兼容目前只基于2.x版本进行了改造推荐版本 2.0.4。数据库表 config_info、config_info_beta、his_config_info中需要新增字段 encrypted_data_key 用来存储每一个配置项加密使用的秘钥。新版本的默认创建表的sql中已经添加该字段。 内嵌数据库如果之前使用过内嵌数据库的单机模式启动则需要删除nacos/data文件夹在重新启动会重新创建表。MySQL对于目前已经搭建好的 Nacos 使用以下 sql 将字段添加到对应的表中ALTER TABLE table_name ADD COLUMN encrypted_data_key text NOT NULL COMMENT 秘钥
注意事项 目前各种Nacos插件并不成熟可能会有Bug不推荐生产环境使用
2. 安装插件
Nacos通过 SPI 的机制抽象出加密和解密的操作默认提供 AES 的实现。用户也可以自定义加解密的实现方式。具体的实现在 nacos-plugin仓库。
在 Nacos 服务端启动的时候就会加载所有依赖的加解密算法然后通过发布配置的 dataId 的前缀来进行匹配是否需要加解密和使用的加解密算法。
客户端发布的配置会在客户端通过filter完成加解密也就是配置在传输过程中都是密文的。而控制台发布的配置会在服务端进行处理。
Nacos 加解密插件是可插拔的有没有都不影响 Nacos 的核心功能的运行。如果想要使用 Naocs 的配置加解密功能需要单独引用加密算法的实现。客户端和服务端都通过添加以下依赖来使用 AES 加解密算法服务端推荐添加到 config 模块下。
2.1 编译
目前插件需要自己编译并未上传至maven中央仓库。在nacos-plugin地址下载源码导入到IDEA中进行编译安装到本地仓库。 2.2 客户端
客户端后台服务引入默认的AES加密插件 !--配置加密插件--dependencygroupIdcom.alibaba.nacos/groupIdartifactIdnacos-aes-encryption-plugin/artifactIdversion1.0.0-SNAPSHOT/version/dependency2.3 服务端
参考Nacos 2.x 系列【11】源码启动服务端下载服务端源码找到config模块 引入默认的AES加密插件 !--配置加密插件--dependencygroupIdcom.alibaba.nacos/groupIdartifactIdnacos-aes-encryption-plugin/artifactIdversion1.0.0-SNAPSHOT/version/dependency3. 测试
源码启动服务端打开Nacos控制台点击新建配置配置前缀使用以下格式来标识这个配置需要加密
cipher-[加密算法名称]-dataId系统会自动识别并加密例如使用 AES 算法来解密配置
cipher-aes-application-dev.yml这里添加order-demo服务的配置 配置文件内容如下
spring:application:name: order-democloud:nacos:# 服务端用户名密码username: nacospassword: nacos# 服务发现discovery:# 命名空间namespace: 0faa0970-1179-4143-8aa2-cac3ee6b42ec# 服务端地址默认127.0.0.1:8848server-addr: 127.0.0.1:8848# 配置中心config:namespace: 0faa0970-1179-4143-8aa2-cac3ee6b42ecserver-addr: 127.0.0.1:8848# 导入配置config:import:- nacos:cipher-aes-order-demo.yaml点击保存查看数据库可以看到配置内容被加密 自动生成的秘钥 启动服务后台正常获取到加密的配置并自动解密