在使用spring boot admin时我遇到2个问题
1)我想通过ssl(https)使用spring boot admin,但是他正在通过http加载资源,所以我遇到了错误
2)我正在将Spring Boot Admin连接到8个不同的服务器,其中一些执行器端点已通过身份验证(Spring Boot安全性),如何将自定义用户名和密码从Spring Boot管理服务器传递到执行器端点?或任何其他自定义标题。
感谢您的帮助
答案 0 :(得分:-1)
关于问题2)
如果您的Spring引导应用程序受http basic auth保护。像这样
@Configuration
@Order(1)
@ConditionalOnProperty(name="spring.boot.admin.client.enabled", havingValue="true", matchIfMissing=false)
public class ActuatorConfig extends WebSecurityConfigurerAdapter {
@Value("${spring.boot.admin.client.instance.metadata.user.name:actuator}")
private String actuatorName;
@Value("${spring.boot.admin.client.instance.metadata.user.password:secret}")
private String actuatorPassword;
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication().withUser(actuatorName).password("{noop}"+actuatorPassword).authorities("ACTUATOR");
}
@Override
public void configure(HttpSecurity http) throws Exception {
http
.antMatcher("/actuator/**")
.authorizeRequests()
.anyRequest().hasAuthority("ACTUATOR")
.and()
.httpBasic();
}
}
执行器终点的用户名和密码是这样在Spring Boot应用程序(不是Spring Boot管理服务器)中由application.properties或application.yml定义的,
spring.boot.admin.client.instance.metadata.user.name=actuator
spring.boot.admin.client.instance.metadata.user.password=secret
您的Spring Boot应用程序将使用这些信息连接到Spring Boot管理服务器,Spring Boot管理服务器将使用这些信息将应用程序的执行器端点连接回去。