nacos作为配置中心服务启动遇到的问题(已解决)

问题描述

将nacos作为项目配置中心时,bootstrap.yml按照官方文档:nacos-spring-cloud出现配置读取不到和用户鉴权问题
spring-cloud、spring-cloud-alibaba版本如下

            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>2023.0.1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2023.0.1.0</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

配置读取不到
鉴权问题

问题分析

配置读取问题

根据报错信息可以知道是spring-cloud对bootstrap.yml没有支持,通过查找资料知道spring-cloud 2020.0.2版本中把bootstrap的相关依赖从spring-cloud-starter-config中移除了。

用户鉴权问题

见官方文档nacos github地址
我们可以看到nacos2.3.2版本必须开启鉴权
nacos客户端鉴权配置
服务引用nacos配置

问题解决

配置读取问题

在子工程中引入bootstrap相关依赖

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
        </dependency>

用户鉴权问题

在bootstrap.yml中添加username、password

spring:
  application:
    name: yolo-order-service
  cloud:
    nacos:
      username: 'nacos'
      password: 'nacos'
      discovery:
        server-addr: 127.0.0.1:8848
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yaml
  profiles:
    active: dev

测试

@RestController
@RequestMapping("/nacos")
@RefreshScope
public class TestController {

    @Value("${yolo}")
    private String yolo;

    @GetMapping("/config")
    public String getYolo(){
        return yolo;
    }

}

nacos客户端配置
测试结果

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值