1、由于开启了nacos的安全认证,修改了nacos的application.properties
nacos.core.auth.enabled=true
2、错误信息如下:
Caused by: com.alibaba.nacos.api.exception.NacosException: Request nacos server failed: at com.alibaba.nacos.client.naming.remote.gprc.NamingGrpcClientProxy.requestToServer(NamingGrpcClientProxy.java:279) ~[nacos-client-2.0.3.jar:na] at com.alibaba.nacos.client.naming.remote.gprc.NamingGrpcClientProxy.doRegisterService(NamingGrpcClientProxy.java:129) ~[nacos-client-2.0.3.jar:na] at com.alibaba.nacos.client.naming.remote.gprc.NamingGrpcClientProxy.registerService(NamingGrpcClientProxy.java:115) ~[nacos-client-2.0.3.jar:na] at com.alibaba.nacos.client.naming.remote.NamingClientProxyDelegate.registerService(NamingClientProxyDelegate.java:95) ~[nacos-client-2.0.3.jar:na] at com.alibaba.nacos.client.naming.NacosNamingService.registerInstance(NacosNamingService.java:145) ~[nacos-client-2.0.3.jar:na] at org.apache.dubbo.registry.nacos.NacosNamingServiceWrapper.registerInstance(NacosNamingServiceWrapper.java:57) ~[dubbo-3.0.2.1.jar:3.0.2.1] at org.apache.dubbo.registry.nacos.NacosRegistry.doRegister(NacosRegistry.java:170) ~[dubbo-3.0.2.1.jar:3.0.2.1] ... 42 common frames omitted Caused by: com.alibaba.nacos.api.exception.NacosException: unknown user! at com.alibaba.nacos.client.naming.remote.gprc.NamingGrpcClientProxy.requestToServer(NamingGrpcClientProxy.java:271) ~[nacos-client-2.0.3.jar:na] ... 48 common frames omitted
3、 pom.xml 依赖配置如下:
1.8 UTF-8 UTF-8 2.3.6.RELEASE 3.0.2.1 2.0.3 org.springframework.boot spring-boot-dependencies${spring-boot.version} pom import org.springframework.boot spring-boot-starter-weborg.apache.dubbo dubbo-spring-boot-starter${dubbo.version} org.apache.dubbo dubbo-registry-nacos${dubbo.version} com.alibaba.nacos nacos-client${nacos.version}
4、application.yml 配置内容如下:
spring:
application:
name: dubbo-demo-provider
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
dubbo:
application:
name: dubbo-demo-provider
# 禁用QOS同一台机器可能会有端口冲突现象
qos-enable: false
qos-accept-foreign-ip: false
scan:
# 配置接口扫描包
base-packages: tm.ucp.service
protocol:
# 协议类型
name: dubbo
port: 8888
registry:
protocol: dubbo
address: nacos://localhost:8848?username=${username}&password=${password}
timeout: 3000
# 默认【public】 配置 namespace
parameters:
namespace: eec62008-6264-4e6e-aee8-bebb1c26a8ab
解决方法:
由于dubbo的源码中发现 username、paasword并没有实际用到,
而在 RegistryConfig 类中发现 address属性值中,对username、password值进行了处理
故采用如下方法进行配置
dubbo:
registry:
address: nacos://localhost:8848?username=${username}&password=${password}
配置文件参考:
https://github.com/apache/dubbo-spring-boot-project/tree/master/dubbo-spring-boot-samples/registry-samples
https://github.com/apache/dubbo/issues/5956
至此已成功解决,写的不好,望各位指正!!!



