Nacos配置内容加密实现过程

 更新时间:2025年08月06日 14:20:52   作者:东皋长歌  
文章介绍了在Nacos配置中实现加密的步骤,包括引入AES加密插件、重新编译Nacos服务端、修改SpringBoot应用配置前缀,并确保加密后内容在数据库存储而应用端能解密读取

一、背景

因为项目中安全检查的要求,需要将nacos配置的内容进行加密,所以需要实现将配置内容加密处理,这里引入nacos-aes-encryption-plugin插件来完成这一需求。

二、实现步骤

1. 重新编译nacos服务端

1.1  从github下载Nacos源码,地址https://github.com/alibaba/nacos

1.2  在config模块中引入插件:

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

1.3  服务端编译:

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

其中,-Prelease-nacos 是编译参数,表示编译的是 Nacos release 版本。-U参数表示强制更新依赖。

1.4 编译完成后,会在distribution/target目录下生成nacos-server-x.x.x.zip包,可作为nacos的版本包直接使用。

1.5 使用上面的包重新部署nacos

2. Nacos页面配置

进入Nacos控制台,配置内容正常处理,配置名以"cipher-aes-"开头。

例:cipher-aes-user

3. SpringBoot应用服务端(后端服务)

3.1   在服务中引入

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

3.2  将项目的yml文件中的"spring.cloud.nacos.config.prefix"改为"cipher-aes-"开头。

例:cipher-aes-user。

4. 结果

上述配置完之后,在数据库端看到的配置内容就是加密后的内容,但是在应用端和web端读取的时候都是解密后的明文。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java中常见的6种线程池示例详解

    java中常见的6种线程池示例详解

    这篇文章主要介绍了java中常见的6种线程池示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Java中Scanner类基础使用、可能遇到的问题及注意事项

    Java中Scanner类基础使用、可能遇到的问题及注意事项

    Scanner类是一个用于Scanner指的是java.util包下的Scanner类,可以接收控制台输入的数据,这篇文章主要介绍了Java中Scanner类基础使用、可能遇到的问题及注意事项的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-04-04
  • spring调度注解@Scheduled方式(含分布式)

    spring调度注解@Scheduled方式(含分布式)

    文章介绍了Java中任务调度的几种常见方法,包括JDK原生的Timer、ScheduledThreadPoolExecutor和Spring的@Scheduled注解,文章还讨论了如何在分布式环境中实现任务调度,并介绍了一些开源的分布式任务调度解决方案,如Quartz和XXL-JOB
    2024-11-11
  • mybatis实现一对一关联映射实例代码

    mybatis实现一对一关联映射实例代码

    这篇文章主要给大家介绍了关于mybatis实现一对一关联映射的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11
  • java反射校验参数是否是基础类型步骤示例

    java反射校验参数是否是基础类型步骤示例

    这篇文章主要为大家介绍了java反射校验参数是否是基础类型步骤示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • Spring Cloud Gateway的配置与使用教程

    Spring Cloud Gateway的配置与使用教程

    这篇文章主要介绍了Spring Cloud Gateway的配置与使用,通过本文的介绍,我们了解了Spring Cloud Gateway的核心概念和基本配置,需要的朋友可以参考下
    2023-06-06
  • Java中八种基本数据类型的默认值

    Java中八种基本数据类型的默认值

    这篇文章主要介绍了Java中八种基本数据类型的默认值 的相关资料,需要的朋友可以参考下
    2016-07-07
  • java集合 ArrayDeque源码详细分析

    java集合 ArrayDeque源码详细分析

    ArrayDeque是一种以数组方式实现的双端队列,它是非线程安全的。下面小编和大家一起学习一下
    2019-05-05
  • Spring AOP实现记录操作日志

    Spring AOP实现记录操作日志

    这篇文章主要为大家详细介绍了Spring AOP实现记录操作日志,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • springboot整合druid及多数据源配置的demo

    springboot整合druid及多数据源配置的demo

    这篇文章主要介绍了springboot整合druid及多数据源配置的demo,本篇主要分两部分 ①springboot整合druid的代码配置,以及druid的监控页面演示;②对实际场景中多数据源的配置使用进行讲解,需要的朋友可以参考下
    2024-01-01

最新评论