Nacos 配置加密

nacos配置加密官网

官网介绍太简单,而且GitHub 网络受限,随缘访问。Gitee 发现有镜像仓库,同步的最新版本

Gitee nacos 镜像仓库

但是官网中提到的加密插件,未找到相应的镜像仓库,需要在 GitHub 拉取。

Nacos 插件打包

直接用 idea 打开,必须打包 install 到本地,maven 仓库无该依赖。

新版本的 nacos 集成了达梦数据库,打包时报错,需自行下载达梦驱动,配置路径。

生成后的maven

        <dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-aes-encryption-plugin</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>

Nacos 源码编译

将上述 maven 依赖,添加到源码config 模块下

修改 console 模块 application.properties 文件,配置 MySQL数据库

新版本的 nacos spring.datasource.platform=mysql 已经弃用,改为 spring.sql.init.platform=mysql

### Deprecated configuration property, it is recommended to use `spring.sql.init.platform` replaced.

只需修改配置

spring.sql.init.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos-2.3.0?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=admin123456

修改 distribution 设置 单机启动

这里设置好生成的 jar 包,默认单机启动。

测试加密

上述工作完成后,对整个 nacos 项目整体 clean 、 package 、 install 。

启动 console 模块下的 Nacos 启动类,访问 nacos

按官网文档创建加密配置

  • 打开 Nacos 控制台,点击新建配置。
  • 配置前缀使用cipher-[加密算法名称]-dataId来标识这个配置需要加密,系统会自动识别并加密。例如使用 AES 算法来解密配置:cipher-aes-application-dev.yml。
  • 点击保存,查看数据库

正常你会看到数据库加密内容如下,content 被加密后的配置,encrypted_data_key 秘钥

测试成功后

在控制台项目根目录执行如下命令,distribution 模块 target 目录下 生成 nacos 压缩包

mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U

解压后,按正常流程配置数据源,打开鉴权,启动测试。

微服务配置

nacos 配置文件添加 cipher-aes- 前缀后, 需要修改bootstrap.yml 文件,读取相应的配置中心名称(默认按服务名称读取)

示例如下:

spring:
application:
name: xxx
cloud:
nacos:
discovery:
server-addr: ${NACOS_HOST:127.0.0.1}:${NACOS_PORT:8848}
config:
server-addr: ${spring.cloud.nacos.discovery.server-addr}
file-extension: yml
shared-configs:
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
# 重点
name: cipher-aes-${spring.application.name}
username: nacos
password: nacos
# 排除避免gateway跟springboot版本冲突
autoconfigure:
exclude: org.springframework.cloud.gateway.config.GatewayAutoConfiguration,org.springframework.cloud.gateway.config.GatewayClassPathWarningAutoConfiguration
profiles:
active: @profiles.active@

Nacos 配置加密的更多相关文章

  1. Spring Cloud Alibaba基础教程:Nacos配置的多文件加载与共享配置

    前情回顾: <Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现> <Spring Cloud Alibaba基础教程:支持的几种服务消费方式> ...

  2. Spring Cloud Alibaba基础教程:Nacos配置的多环境管理

    前情回顾: <Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现> <Spring Cloud Alibaba基础教程:支持的几种服务消费方式> ...

  3. SpringBoot使用Nacos配置中心

    本文介绍SpringBoot如何使用阿里巴巴Nacos做配置中心. 1.Nacos简介 Nacos是阿里巴巴集团开源的一个易于使用的平台,专为动态服务发现,配置和服务管理而设计.它可以帮助您轻松构建云 ...

  4. Nacos配置中心

    本文介绍spring cloud 集成 nacos案例 官方文档:https://nacos.io/zh-cn/docs/what-is-nacos.html](https://nacos.io/zh ...

  5. 微服务之Nacos配置中心源码解析(二)

    Nacos配置中心源码解析 源码入口 ConfigFactory.createConfigService ConfigService configService = NacosFactory.crea ...

  6. tomcat配置加密的连接器https

    对称加密:加密和解密用的是同样的密钥. 非对称加密:使用一对密钥,公钥和私钥,私钥只由一方保管,不能外泄:公钥可以发给任何请求它的人 那么得到公钥的一方怎么确定这个公钥是服务器发过来的呢? 这个就需要 ...

  7. nacos配置服务入门

    1.nacos服务端部署 参见官方文档:https://nacos.io/zh-cn/docs/quick-start.html 2.nacos配置中心功能使用 在pol文件中添加依赖: 在启动类中使 ...

  8. Spring Cloud 系列之 Alibaba Nacos 配置中心

    Nacos 介绍 Nacos 是 Alibaba 公司推出的开源工具,用于实现分布式系统的服务发现与配置管理.英文全称 Dynamic Naming and Configuration Service ...

  9. Nacos配置中心使用

    在系统开发过程中,开发者通常会将一些需要变更的参数.变量等从代码中分离出来独立管理,以独立的配置文件的形式存在.目的是让静态的系统工件或者交付物(如 WAR,JAR 包等)更好地和实际的物理运行环境进 ...

  10. 微服务从nacos配置中心获得配置信息

    一,安装nacos, 略 二,创建父工程和微服务工程 service1, service2,以idea为例 1, new -> project -> Maven -> 填写group ...

随机推荐

  1. Python+requests编写接口用例

    1.python编写接口用例需要依赖requests模块,我们先确认本地是否安装了requests模块,没有安装的先进行安装. pycharm工具查看已安装的模块:File->Setting-& ...

  2. 【Java】JNDI实现

    前提情要: 培训的时候都没讲过,也是书上看到过这么个东西,进公司干外包的第二个项目就用了这个鬼东西 自学也不是没尝试过实现,结果各种失败,还找不到问题所在,索性不写了 JNDI实现参考: 目前参考这篇 ...

  3. 【Vue】Re10 Webpack 第二部分(Loader)

    一.Loader解决的问题: Loader解决的问题是让webpack能够打包其他类型的文件 例如CSS.IMG等非JavaScript脚本文件 在后面我们使用Vue组件文件时也需要VueLoader ...

  4. 《Python数据可视化之matplotlib实践》 源码 第二篇 精进 第六章

    图 6.1 import matplotlib.pyplot as plt import numpy as np x=np.linspace(-2*np.pi, 2*np.pi, 200) y=np. ...

  5. 支持NVIDIA GPU —— 如何运行docker环境下的Jax环境

    项目地址: https://github.com/NVIDIA/JAX-Toolbox 具体的安装命令: 地址: https://github.com/NVIDIA/JAX-Toolbox/pkgs/ ...

  6. python语言版(代码):计算百分数的概率单位

    相关资料: [转载]百分数的概率单位变换--解惑:概率确实没有单位但是数学里面确实有"概率单位"这个词 百分比与概率单位对照表 https://www.docin.com/p-22 ...

  7. Kruskal和Prim模板

    例题:P3366 [模板]最小生成树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) Kruskal #include <bits/stdc++.h> #define d ...

  8. 牛客周赛 Round 8

    牛客周赛 Round 8 A-小美的排列询问_牛客周赛 Round 8 (nowcoder.com) 枚举即可 #include<bits/stdc++.h> using i64 = lo ...

  9. 工作常用SQL

    工作常用SQL Excel生成SQL 这个好用 ="insert into t_gk_mapping(id,gk_project_name,gk_project_code,main_proj ...

  10. 直播机--蓝松绿幕抠图SDK功能表