网站首页 > 博客文章 正文
Nacos注册中心及配置中心启用安全管理配置
在之前SpringCloud客户端都是匿名接入Nacos注册中心或者配置中心,实现方式比较简单,这种情况下一般Nacos服务都是内网服务,不提供外网访问,否则会带来数据安全性问题。不可避免,有时候需要将Nacos对外提供服务,这个时候,就需要加强Nacos接入的安全性,从1.3.2开始,Nacos注册中心以及配置中心已支持安全性校验功能,可以采用该功能实现对外提供服务时,对安全性的需求。
启用安全性校验
对三个节点进行修改配置文件,启用身份认证功能。打开/nacos/conf中的application.properties文件,找到nacos.core.auth.enabled配置项,并调整其值为true。
# 默认为false
nacos.core.auth.enabled=true
重启三个节点服务,此时管理端和之前表现一致,并没有随着开启身份认证而有所变化。再次启动nacos-config服务,发现一开始就报了一个认证失败的错误,注册、获取配置等接口均失败,说明安全性功能已经成功开启。
客户端实现身份认证
Nacos注册中心和配置中心是可以独立使用的,因此在Nacos安全配置中,也有两种账号配置方式。在启用安全配置时,Nacos客户端需要配置2.2.3及以上版本,此前的版本不支持安全配置,但最好的方法是注册中心不对外提供服务。
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.3.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
- 注册、配置中心独立配置
# 注册中心
spring.cloud.nacos.discovery.username=nacos
spring.cloud.naocs.discovery.password=nacos
# 配置中心
spring.cloud.nacos.config.username=nacos
spring.cloud.nacos.config.password=nacos
- 。全局配置
spring.cloud.nacos.username=nacos
spring.cloud.nacos.password=nacos
独立配置
在nacos-config的配置文件中,添加服务发现、注册中心的账号,之后服务启动,发现注册以及获取配置信息功能一切正常,说明安全性配置已成功
server:
port: 8072
spring:
application:
name: nacos-config
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8846
username: nacos
password: nacos
config:
server-addr: ${spring.cloud.nacos.discovery.server-addr}
file-extension: yml
username: nacos
password: nacos
全局配置
对nacos-config配置文件进行改造,去除discovery和config节点的username和password配置信息,并在spring.cloud.nacos节点下添加username和password配置,启动客户端,注册及获取配置信息功能一切正常。同独立配置表现一致。
server:
port: 8072
spring:
application:
name: nacos-config
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8846
config:
server-addr: ${spring.cloud.nacos.discovery.server-addr}
file-extension: yml
username: nacos
password: nacos
跟踪Nacosspring-cloud-starter-alibaba-nacos-discovery和spring-cloud-starter-alibaba-nacos-config中的NacosDiscoveryProperties和NacosConfigProperties类,spring.cloud.nacos.username和spring.cloud.nacos.password分别作为了注册服务账号和配置账号的默认值配置。
// NacosConfigProperties
private void overrideFromEnv() {
...
if (StringUtils.isEmpty(this.getUsername())) {
this.setUsername(this.environment.resolvePlaceholders("${spring.cloud.nacos.username:}"));
}
if (StringUtils.isEmpty(this.getPassword())) {
this.setPassword(this.environment.resolvePlaceholders("${spring.cloud.nacos.password:}"));
}
}
// NacosDiscoveryProperties文件的写法同上面基本上一致。
一般情况下,可以优先使用spring.cloud.nacos.username、spring.cloud.nacos.password配置方式。
基于SpringCloudAlibaba微服务架构设计及实现系列文章
猜你喜欢
- 2024-10-01 微服务学习笔记(微服务怎么学)
- 2024-10-01 干货:SpringBoot集成Nacos,填坑篇
- 2024-10-01 记一次把Nacos做成服务并开机启动
- 2024-10-01 Nacos 配置中心与注册中心(nacos配置中心连接超时)
- 2024-10-01 小白入门必知必会-Nacos单机安装(nacos入门教程)
- 2024-10-01 windows系统 安装nacos服务注册与发现中心
- 2024-10-01 网络环境问题导致的nacos集群故障
- 2024-10-01 分布式服务限流降级熔断解决方案Nacos之Dashboard界面配置含义
- 2024-10-01 Nacos你真的理解了吗(nacos百科)
- 2024-10-01 java微服务环境配置——注册中心 配置中心Nacos
你 发表评论:
欢迎- 367℃用AI Agent治理微服务的复杂性问题|QCon
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 358℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 346℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 345℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 342℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)