einen einzelnen Service auf SSL stellen, Beispiel: Repositorymanager und RMA-Link

einen einzelnen Service auf SSL stellen, Beispiel: Repositorymanager und RMA-Link

Es kann nötig sein, einen einzelnen Service auf SSL zu stellen (nicht den ganzen Servicemanager). Bei der SAP-Anbindung muss die Kommunikation normalerweise über HTTPS laufen. 

Dazu wird ein Zertifikat benötigt. Bitte aus dem AD exportieren/erstellen, sonst ist es nicht gültig bzw. das Root-Zertifikat muss an alle Clients verteilt werden. Der Zugriff ist sonst nicht möglich.
Es empfiehlt sich das Zertifikat vorher zu prüfen, siehe auch
https://enaiodevelop.atlassian.net/wiki/spaces/PS/pages/21424787

Offizielle Dokumentation (voll umfassend und alle Versionen): 
https://enaiodevelop.atlassian.net/wiki/spaces/TLSSSL

 

Schritt-für-Schritt-Anleitung

Repositorymanager umstellen

  1. Sicherung der Servicemanager-Konfiguration (Verzeichnis <Installationspfad>\services\service-manager\config) 

  2. Zertifikat prüfen, ob die korrekten Parameter zu ermitteln für:
    Alias-Name, Passwort, Keystore-Typ, alternativer Name 

  3. Erstellung einer Textdatei namens application-ssl.yml mit diesem Inhalt:
    Empfohlen ab enaio 11.10: Windows-Zertifikatsspeicher verwenden anhand der offiziellen Dokumentation einrichten
    oder hier: https://enaiodevelop.atlassian.net/wiki/spaces/PS/pages/21444731

    server.ssl:   enabled: true   key-store: 'D:/_Install/Zertifikate/meinzertifikat.p12'   key-store-type: PKCS12   key-store-password: 'optimal'   key-alias: 'ssl-zertifikat'   key-password: 'optimal' eureka.instance:   hostname: 'meinserver.domain.de'   non-secure-port-enabled: false   secure-port-enabled: true   secure-port: "${server.port}"   prefer-ip-address: false   homePageUrl: "https://${eureka.instance.hostname}:${eureka.instance.secure-port}/"   healthCheckUrl: "https://${eureka.instance.hostname}:${eureka.instance.secure-port}/manage/health"   statusPageUrl: "https://${eureka.instance.hostname}:${eureka.instance.secure-port}/manage/info"   secureHealthCheckUrl: "https://${eureka.instance.hostname}:${eureka.instance.secure-port}/manage/health"
  4. Die Datei in das config-Verzeichnis des Servicemanagers kopieren. 

  5. Die config-Datei servicewatcher-sw.yml anpassen. Bei Repositorymanager ssl in der Zeile profiles ergänzen 

    profiles: prod,cloud,blue,ssl
  6. Das Zertifikat in die cacert-Datei des Servicemanagers importieren, siehe Punkt 4 bei 
    https://enaiodevelop.atlassian.net/wiki/spaces/PS/pages/21424787
    Empfehlung: per Keystore-Explorer importieren in alle vorhandenen JDKs des Servicemanagers. 

  7. Servicemanager stoppen. Empfehlung: Das Log-Verzeichnis leeren.

  8. Servicemanager starten. Im services.log prüfen, ob der Service startet und im Log steht, dass er https hat.

  9. Kontrolle über die Servicemanager-Admin-Seite. Wenn alles korrekt ist, steht der Service auf https. In aktuellen Versionen (ab enaio 11.00) wird nicht https, sondern "@" angezeigt. 

  10. Test-Aufruf: 
    https://<service mit repositorymanager mit FQDNName bzw. alternativer Name aus dem Zertifikat>:8010
    Wenn eine Login-Aufforderung kommt, ist der Service aktiv. 

RMA-Link bzw. Arcive-Link umstellen

  1. Sicherung der Servicemanager-Konfiguration (Verzeichnis <Installationspfad>\services\service-manager\config) 

  2. Zertifikat prüfen, ob die korrekten Parameter zu ermitteln für:
    Alias-Name, Passwort, Keystore-Typ, alternativer Name 

  3. Erstellung einer Textdatei namens application-ssl.yml mit diesem Inhalt:
    Empfohlen ab enaio 11.10: Windows-Zertifikatsspeicher verwenden anhand der offiziellen Dokumentation einrichten
    oder hier: https://enaiodevelop.atlassian.net/wiki/spaces/PS/pages/21444731

    server.ssl:   enabled: true   key-store: 'D:/_Install/Zertifikate/meinzertifikat.p12'   key-store-type: PKCS12   key-store-password: 'optimal'   key-alias: 'ssl-zertifikat'   key-password: 'optimal' eureka.instance:   hostname: 'meinserver.domain.de'   non-secure-port-enabled: false   secure-port-enabled: true   secure-port: "${server.port}"   prefer-ip-address: false   homePageUrl: "https://${eureka.instance.hostname}:${eureka.instance.secure-port}/"   healthCheckUrl: "https://${eureka.instance.hostname}:${eureka.instance.secure-port}/manage/health"   statusPageUrl: "https://${eureka.instance.hostname}:${eureka.instance.secure-port}/manage/info"   secureHealthCheckUrl: "https://${eureka.instance.hostname}:${eureka.instance.secure-port}/manage/health"
  4. Die Datei in das config-Verzeichnis des Servicemanagers kopieren. 
    Die config-Datei servicewatcher-sw.yml anpassen. Bei rma-lin k ssl in der Zeile profiles ergänzen 

    profiles: prod,cloud,blue,ssl


    Das Zertifikat in die cacert-Datei des Servicemanagers importieren, siehe Punkt 4 bei
     https://enaiodevelop.atlassian.net/wiki/spaces/PS/pages/21424787
    Empfehlung: per Keystore-Explorer importieren in alle vorhandenen JDKs des Servicemanagers. 

  5. Servicemanager stoppen. Empfehlung: Das Log-Verzeichnis leeren.

  6. Servicemanager starten. Im services.log prüfen, ob der Service startet und im Log steht, dass er https hat.

  7. Kontrolle über die Servicemanager-Admin-Seite. Wenn alles korrekt ist, steht der Service auf https. In aktuellen Versionen (ab enaio 11.00) wird nicht https, sondern "@" angezeigt. 

  8. Ab enaio 11.00 Archivelink-Patch 5.0.4 kann ein Test-Aufruf ausgeführt werden. URL:  https://<service mit rma-link mit FQDNName bzw. alternativer Name aus dem Zertifikat>:8092
    Wenn eine swagger-ui-Anzeige kommt, ist alles ok. Beispiel:

Beispiel-Konfigurrationen zum Download:

Beispiel.zip

 

Bitte beachten: Die YML-Dateien müssen genau die korrekte Anzahl an Leerzeichen und Name (Groß/Kleinschreibung) beinhalten, sonst können sie nicht gelesen werden. 
Das services.log gibt im Normalfall Hinweise, wenn etwas nicht stimmt. 

 

Verwandte Artikel