Warum Spring-Boot-Antrieb erzeugen einen 404-statt 401?

Dies ist eine sehr dumme Frage, aber ich verstehe nicht, warum Aktor gibt mir ein 404 statt 401, wenn ich versuche, Zugriff auf ein gesichertes Endpunkt.

Habe ich noch die Abhängigkeit

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

Und deaktiviert die Sicherheit für nicht-sensible Endpunkte

security.basic.enabled=false

Nun, ich kann auf die Anwendung zugreifen, und (eine verkrüppelte version) /health aber wenn ich auf /metrics es gibt mir ein WWW-Authenticate header gut, aber mit ein 404, also mein browser funktioniert nicht, fragt mich nach Benutzer und Passwort.

$ curl -v http://localhost:8081/metrics
* STATE: INIT => CONNECT handle 0x6000572d0; line 1090 (connection #-5000)
* Added connection 0. The cache now contains 1 members
*   Trying ::1...
* STATE: CONNECT => WAITCONNECT handle 0x6000572d0; line 1143 (connection #0)
*   Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 8081 (#0)
* STATE: WAITCONNECT => SENDPROTOCONNECT handle 0x6000572d0; line 1240 (connection #0)
* STATE: SENDPROTOCONNECT => DO handle 0x6000572d0; line 1258 (connection #0)
> GET /metrics HTTP/1.1
> Host: localhost:8081
> User-Agent: curl/7.45.0
> Accept: */*
>
* STATE: DO => DO_DONE handle 0x6000572d0; line 1337 (connection #0)
* STATE: DO_DONE => WAITPERFORM handle 0x6000572d0; line 1464 (connection #0)
* STATE: WAITPERFORM => PERFORM handle 0x6000572d0; line 1474 (connection #0)
* HTTP 1.1 or later with persistent connection, pipelining supported
< HTTP/1.1 404 Not Found
* Server Apache-Coyote/1.1 is not blacklisted
< Server: Apache-Coyote/1.1
< X-Content-Type-Options: nosniff
< X-XSS-Protection: 1; mode=block
< Cache-Control: no-cache, no-store, max-age=0, must-revalidate
< Pragma: no-cache
< Expires: 0
< X-Frame-Options: DENY
< Strict-Transport-Security: max-age=31536000 ; includeSubDomains
< WWW-Authenticate: Basic realm="Spring"
< Content-Length: 0
< Date: Thu, 21 Jan 2016 15:55:12 GMT
<
* STATE: PERFORM => DONE handle 0x6000572d0; line 1632 (connection #0)
* Curl_done
* Connection #0 to host localhost left intact

Und die relevanten Eigenschaften in application.properties

# Spring Boot Actuator
management.address=127.0.0.1
management.port=8081
security.basic.enabled=false
security.user.name=admin
security.user.password=a1b2c3

Warum ist das so? Kann ich es ändern?

  • Könnte Sie posten Sie Ihre gesamte Konfiguration-Datei? Sie sollten immer einen 401-für alle Endgeräte (auch aus sind), mit Ausnahme derjenigen, die ausdrücklich nicht empfindlich, wie /health.
  • Ich fügte hinzu, die Eigenschaften, die ich habe, wenn du das meinst.
  • Vorausgesetzt, Ihre Anwendung ausgeführt wird, auf einem anderen port, können Sie versuchen, den Stellantrieb auf dem gleichen port wie Ihre Anwendung und sehen, ob die Metriken, die dann funktioniert?
InformationsquelleAutor user3748908 | 2016-01-21
Schreibe einen Kommentar