Cuando corro servidor de la nube de configuración de la primavera de la primavera sin seguridad el servicio obtiene la configuración sin problema, pero cuando activo seguridad primavera no va a buscar a los archivos de configuración. Parece que tirar un error 401 de HTTP. He comprobado que el nombre de usuario y la contraseña es correcta, también he tratado de usuario: contraseña @ manera url de autenticación con el mismo problema.
Si tengo acceso a la dirección URL http://localhost:8888/service/default
directamente en el navegador e introduzca el nombre de usuario y la contraseña se muestran las configuraciones.
Cualquier ayuda será apreciada, no estoy seguro si hay un problema con mi config nube o mi configuración de seguridad.
Versión del resorte del cargador: '2.2.4.RELEASE'
en la nube-config-servidor de la primavera versión: '2.2.1.RELEASE'
sistema de construcción: Gradle
Java 8
Esta configuración siempre falla, He intentado añadir a los servicios existentes que tenía y no funcionó así que creé un nuevo servidor de configuración y un nuevo cliente a través del muelle de inicialización en https://start.spring.io/ con el siguiente config y todavía no funciona.
Entrar cuando la seguridad está activo:
2020-02-19 14:29:16.553 INFO 14996 --- [ main] c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at : http://localhost:8888
2020-02-19 14:29:16.577 DEBUG 14996 --- [ main] o.s.web.client.RestTemplate : HTTP GET http://localhost:8888/service/default
2020-02-19 14:29:16.634 DEBUG 14996 --- [ main] o.s.web.client.RestTemplate : Accept=[application/json, application/*+json]
2020-02-19 14:29:16.647 DEBUG 14996 --- [ main] o.s.web.client.RestTemplate : Response 401 UNAUTHORIZED
2020-02-19 14:29:16.652 WARN 14996 --- [ main] c.c.c.ConfigServicePropertySourceLocator : Could not locate PropertySource: 401 : [{"timestamp":"2020-02-19T12:29:16.642+0000","status":401,"error":"Unauthorized","message":"Unauthorized","path":"/service/default"}]
Seguridad de registro cuando se desactiva / permitir todo
2020-02-19 12:43:13.756 INFO 4972 --- [ main] c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at : http://localhost:8888
2020-02-19 12:43:17.563 INFO 4972 --- [ main] c.c.c.ConfigServicePropertySourceLocator : Located environment: name=service, profiles=[default], label=null, version=fb9ccb6e46098bfe425130d6447a0797206e5c2f, state=null
config application.yml servidor
github uri es oscurecida, la conexión con el repositorio privado no es la cuestión.
server:
port: 8888
spring:
application:
name: config-server
security:
user:
name: 'root'
password: '1234'
cloud:
config:
server:
git:
uri: <github-uri>
ignore-local-ssh-settings: false
strict-host-key-checking: false
private-key: 'classpath:resources/id_rsa'
application.yml archivo de servicio
spring:
application:
name: service
cloud:
config:
uri: http://localhost:8888
username: 'root'
password: '1234'
fail-fast: true
La seguridad en la web es muy básico, pero a continuación es la configuración de seguridad:
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
// Secure the endpoints with HTTP Basic authentication
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers("/**").fullyAuthenticated();
http.httpBasic().and().exceptionHandling();
}
}
Debe utilizar bootstrap.yaml
(no application.yaml
) para la aplicación cliente.
Funciona sin seguridad sólo porque su cliente está utilizando configuración por defecto, que no tiene nombre de usuario y contraseña. Cuando se habilita la seguridad devuelve 401 ya nombre de usuario y contraseña por defecto están vacíos.