创建Server
SpringBootAdmin通过收集actuator暴露出来的服务信息以及通过心跳检测的机制判断服务的运行状况。
1.引入依赖
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>2.2.0</version>
</dependency>
2. 启动类手动装配AdminServer
@EnableAdminServer
@SpringBootApplication
public class MicroAdminApplication {
public static void main(String[] args) {
SpringApplication.run(MicroAdminApplication.class, args);
}
}
3. 配置服务发现
eureka
eureka:
instance:
prefer-ip-address: true
lease-renewal-interval-in-seconds: 5
lease-expiration-duration-in-seconds: 10
instance-id: ${spring.cloud.client.ip-address}:${server.port}
client:
fetch-registry: true
registry-fetch-interval-seconds: 5
serviceUrl:
defaultZone: http://10.2.1.5:9001/eureka/,http://10.2.1.6:9001/eureka/
nacos
spring:
cloud:
nacos:
discovery:
server-addr: 192.168.174.137:8848
服务器端配置完毕!
4. 接入SpringSecurity
保证登录安全,可以不接
引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
指定登录页面为SpringBootAdmin
@Configuration
public class SecuritySecureConfig extends WebSecurityConfigurerAdapter {
private final String adminContextPath;
public SecuritySecureConfig(AdminServerProperties adminServerProperties) {
this.adminContextPath = adminServerProperties.getContextPath();
}
@Override
protected void configure(HttpSecurity http) throws Exception {
// @formatter:off
SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
successHandler.setTargetUrlParameter( "redirectTo" );