У меня есть микросервис Spring Boot с пользовательскими приводами Spring Boot. Когда я запускаю Jar напрямую, я могу получить доступ ко всем своим Acturator, когда я запускаю тот же Jar внутри Docker-Image, я получаю сообщение об ошибке 404.
SecurityConfig:
@Configuration
public class ActuatorSecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.requestMatcher(EndpointRequest.toAnyEndpoint())
.anonymous()
//.authorizeRequests()
//.anyRequest().authenticated()
.and()
.httpBasic();
}
}
Application.yaml:
spring:
profiles: actuator
management.endpoints:
web.exposure.include: "*"
health.show-details: always
Это похоже на "код Boilerplate" моих приводов:
@Component
@RestControllerEndpoint(id = "acturatorName")
public class acturatorNameActurator {
@GetMapping(value = "/foo", produces = "application/json")
public String bar(){
return "{\"status\":\"started\"}";
}
...
}
Ни один из моих пользовательских приводов не работает, когда я просто запускаю Jar run Inside Docker? /actuator/info
Работает, например, но /actuator/metrics
не работает.
Что я могу сделать, чтобы это исправить?
Ты в продвинутом
Редактировать
Возможно, моя конфигурация безопасности неверна? Может ли Spring заблокировать запрос, потому что контейнер находится в другой (Docker) сети? Но тогда я получу что-то другое, чем 404, верно?
Весна привязана по IP 0.0.0.0
Порт 8080, я могу получить доступ к моим REST-конечным точкам нормально