Несанкционированный при весенней загрузке админ
Я хотел контролировать микросервисы, которые работают на сервере Eureka. Я использовал spring-boot-admin для этого, но получаю сообщение об ошибке при доступе к информации о Trace,Log и т. Д.
Я получаю ошибку
Ошибка: {"timestamp":1489052472862,"status":401,"error":"Unauthorized","message":"Для доступа к этому ресурсу требуется полная аутентификация.","Path":"/metrics"}
Мои зависимости
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server</artifactId>
<version>1.4.3</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server-ui</artifactId>
<version>1.4.3</version>
</dependency>
и ни одно из следующих свойств не сработало
endpoints.info.id=information
endpoints.info.sensitive=false
endpoints.info.enabled=true
information.app.name=Actuator Example
information.app.description=Actuator Example
information.app.version=1.0.0
и то же самое происходит со всеми конечными точками, такими как сопоставления, env и все принимают здоровье
4 ответа
Настройка management.security.enabled=false
в application.properties
отключит безопасность на конечных точках.
У меня была похожая проблема. В моем весеннем загрузочном приложении у нас был фильтр cors для блокировки запросов Http Head. Таким образом, главные запросы не могут быть приняты.
Проверьте журнал консоли Javascript и журнал приложений.
Настройка management.security.enabled=false в application.properties также необходима.
Я придерживаюсь мнения, что отключение безопасности для всех чувствительных конечных точек - это не тот путь.
У меня была эта проблема при доступе /metrics
и, видимо, мне не хватало spring-boot-starter-security
зависимость:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
После добавления зависимости к моему pom.xml
и предполагая, что у меня есть следующее на моем application.yml
...
security:
user:
name: myActuatorUser
password: myActuatorPwd
...
Я смог получить доступ к своему /metrics
конечная точка.
Лучше настроить безопасность по учетным данным username
а также password
для большинства конечных точек, перечисленных здесь: https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html
Исключения из правила health
а также info
конечные точки, которые не будут защищены учетными данными.
Вы можете установить username
а также password
в application.properties
как это:
security.user.name=admin
security.user.password=secret