nacos接入鉴权记录
问题描述:
Nacos部署到服务器进行访问,但这样就会存在安全问题,这个问题在Nacos的官方开发手册上也有描述,连Nacos控制台的登录界面也写着“内网系统,不可暴露到公网”。所以这时就需要考虑到部署到外网的Nacos安全问题。
- Nacos是一个内部微服务组件,需要在可信的内部网络中运行,不可暴露在公网环境,防止带来安全风险。
- Nacos提供简单的鉴权实现,为防止业务错用的弱鉴权体系,不是防止恶意攻击的强鉴权体系。
- 如果运行在不可信的网络环境或者有强鉴权诉求,请参考官方简单实现做替换增强。
项目里面接入nacos鉴权说明:
1.修改bootstrap-local.yaml以及bootstrap-server.yml 添加属性配置:
2.排除nacos-client 的包,主要是 spring-cloud-starter-alibaba-nacos-discovery 以及 spring-cloud-starter-alibaba-nacos-config。引入新的nacos-client pom依赖(1.2.1以上版本)。
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>${nacos.version}</version>
<exclusions>
<exclusion>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>${nacos.version}</version>
<exclusions>
<exclusion>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--开启鉴权,引入nacos最新包-->
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>1.4.1</version>
</dependency>
3.添加@EnableDiscoveryClient 注解