Je voulais contrôler les microservices exécutés sur le serveur Eureka. J'ai utilisé spring-boot-admin pour cela, mais je reçois le message d'erreur pour accéder aux informations relatives à la trace, au journal, etc.
L'erreur que je reçois est
Erreur: {"horodatage": 1489052472862, "status": 401, "erreur": "Non autorisé", "message": "Une authentification complète est requise pour accéder à cette ressource.", "Chemin": "/ métriques"}
Mes dépendances sont
<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>
et aucune des propriétés ci-dessous n'a fonctionné
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
et la même chose se passe avec tous les points finaux comme les cartographies, env et tous acceptent la santé
Définir management.security.enabled=false
dans application.properties
désactive la sécurité sur les ordinateurs d'extrémité.
J'ai eu un problème similaire. Sur mon application de démarrage printanière, nous avions un filtre cors pour bloquer les requêtes HTTP. Donc, les demandes principales ne peuvent être acceptées.
Consultez le journal de la console Javascript et le journal des applications.
La définition de management.security.enabled = false dans le fichier application.properties est également nécessaire.
Je suis d'avis que désactiver la sécurité de tous les ordinateurs d'extrémité sensibles n'est pas la solution.
J'ai eu ce problème en accédant à /metrics
et apparemment , la dépendance spring-boot-starter-security
manquait:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
Après avoir ajouté la dépendance à mon pom.xml
, et en supposant que j'ai le suivant sur mon application.yml
...
security:
user:
name: myActuatorUser
password: myActuatorPwd
...
J'ai pu accéder à mon point de terminaison /metrics
.
Il est préférable de configurer la sécurité à l'aide des informations d'identification username
et password
pour la plupart des systèmes d'extrémité répertoriés ici: https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints. html
Les exceptions à la règle sont les points de terminaison health
et info
qui ne seront pas protégés par des informations d'identification.
Vous pouvez définir username
et password
dans application.properties
comme ceci:
security.user.name=admin
security.user.password=secret