2016-06-23 3 views
1

Ich habe derzeit eine Spring Cloud-Konfigurationsanwendung, die in umgebungsspezifischen Eigenschaften von einem Konfigurationsserver einzieht. Ich versuche jedoch, eine Log4j.xml-Datei zum Config Repo hinzuzufügen, so dass ich unterschiedliche Logging-Anforderungen pro Umgebung angeben kann. Ich habe das funktioniert auch lokal, aber ich habe Probleme beim Zugriff auf die Log4j.xml-Datei aus dem Remote-Git-Repository aufgrund einer fehlenden Basic Authorization für die URL-Anfrage.Wie füge ich die Basisauthentifizierung zu Spring Boot hinzu logging.config property

config server application.yml

server: 
    port: 8888 

spring: 
    cloud: 
    config: 
     server: 
     git: 
      searchPaths: '{profile}' 
      #username: username 
      #password: password 
      #uri: https://stash.mycompany.com/scm/project/config_repo.git 
      # local 
      uri: file:///C:/projects/config_repo 

application.yml im config_repo gespeichert:

logging: 
    #config: https://stash.mycompany.com/projects/project/repos/config_repo/${spring.profiles.active:default}/log4j.xml?raw 
    #username: username 
    #password: password 
    # local 
    config: file:///C:/projects/config_repo/${spring.profiles.active:default}/log4j.xml 

Client-Anwendung bootstrap.yml

spring: 
    application: 
    name: client-app 
    profiles: 
    active: dev 
    cloud: 
    config: 
     #uri: http://www.mycompany.com/repos/config-server/ 
     # local 
     uri: http://localhost:8888/config-server 

Wenn die Feder Boot-Anwendung startet, verwendet es die Standardauthentifizierung Ziehen Sie dow Lesen Sie im letzten Config Repo die Eigenschaften und geben Sie sie an den Client zurück. Ich habe keinen Weg gefunden, um die grundlegende Authentifizierung für die Eigenschaft logging.config in der URL festzulegen, die auch Anmeldeinformationen benötigt, um den Inhalt der Datei zurück auf den Client zu bringen, um die korrekte Protokollierung einzurichten.

kann ich die folgende URL getroffen, und erhalten die erwarteten log4j.xml Inhalt zurück in Postman, wenn ich eine Basic Authorization Header hinzufügen: https://stash.mycompany.com/projects/project/repos/config_repo/dev/log4j.xml?raw

Gibt es eine Möglichkeit I Basic Authorization hinzufügen können, die die logging.config url anfordern?

Antwort

0

Es stellte sich heraus, dass ich in die falsche Richtung ging. Statt die Datei aus dem Versteck Repo anfordern, sollte ich einfach die Datei aus dem Konfigurationsserver werden möchte:

http://www.mycompany.com/config-server/default/${spring.profiles.active}/master/log4j.xml 

Die application.yml sieht wie folgt aus:

logging: 
    config: http://www.mycompany.com/config-server/default/${spring.profiles.active}/master/log4j.xml 

Der Konfigurationsserver zurückkehren können Dateiinhalte aus ein spezifizierter Pfad im repo:

Spring Cloud Config: Serving Plain Text

Verwandte Themen