Konfigurieren der HTTPS-Kommunikation

Standardmäßig verwendet der Spectrum™ Technology Platform-Server HTTP für die Kommunikation mit dem Enterprise Designer, Browseranwendungen wie die Management Console und Metadata Insights sowie für die Verarbeitung von Webservice-Anforderungen und API-Aufrufen und für die Remote-Serverkommunikation. Sie können Spectrum™ Technology Platform zur Verwendung von HTTPS konfigurieren, wenn Sie diese Netzwerkkommunikation schützen möchten.

Anmerkung: Spectrum™ Technology Platform verwendet TLS 1.2 zur Verschlüsselung der Kommunikation. Anwendungen, die auf Spectrum™ Technology Platform-Webservices oder die API zugreifen, müssen TLS 1.2 unterstützen, um eine Verbindung über HTTPS herzustellen.

In dieser Prozedur wird beschrieben, wie Sie die HTTPS-Kommunikation bei einer Einzelserverinstallation von Spectrum™ Technology Platform aktivieren. Wenn Sie HTTPS verwenden möchten und Spectrum™ Technology Platform in einem Cluster ausführen, führen Sie nicht diese Prozedur aus. Konfigurieren Sie stattdessen den Load Balancer, HTTPS für die Kommunikation mit Clients zu verwenden. Die Kommunikation zwischen dem Load Balancer und den Spectrum™ Technology Platform-Knoten sowie zwischen den Knoten untereinander erfolgt unverschlüsselt, da Spectrum™ Technology Platform-Clustering HTTPS nicht unterstützt. Der Load Balancer und die Spectrum™ Technology Platform-Server im Cluster müssen sich hinter einer Firewall befinden, um eine sichere Umgebung zu bieten.

So konfigurieren Sie die HTTPS-Kommunikation für eine Einzelserverinstallation von Spectrum™ Technology Platform:

  1. Stoppen Sie den Spectrum™ Technology Platform-Server.
    • Klicken Sie dazu unter Windows auf das Spectrum™ Technology Platform-Symbol auf der Windows-Taskleiste und wählen Sie Spectrum stoppen aus. Wahlweise können Sie auch die Option „Dienste“ in der Windows-Systemsteuerung verwenden und den Pitney Bowes Spectrum™ Technology Platform-Dienst stoppen.
    • Beziehen Sie unter Unix oder Linux das Skript SpectrumLocation/server/bin/setup und führen Sie dann das Skript SpectrumLocation/server/bin/server.stop aus.
  2. Erstellen Sie ein durch eine vertrauenswürdige Zertifizierungsstelle (CA) signiertes Zertifikat.
    Anmerkung: Das Zertifikat muss die Anforderungen für Verschlüsselung und Länge der von Spectrum™ Technology Platform verwendeten Java-Version erfüllen. Um die Java-Version herauszufinden, öffnen Sie die Management Console und navigieren Sie zu System > Version. Weitere Informationen finden Sie unter java.com/en/jre-jdk-cryptoroadmap.html.
  3. Laden Sie das Zertifikat in einen JSSE-Schlüsselspeicher. Weitere Informationen finden Sie unter www.eclipse.org/jetty/documentation/current/configuring-ssl.html#loading-keys-and-certificates.
  4. Erstellen Sie eine XML-Datei mit dem Namen spectrum-override-container-ssl.xml und folgendem Inhalt:
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:util="http://www.springframework.org/schema/util"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
           http://www.springframework.org/schema/util
           http://www.springframework.org/schema/util/spring-util-3.0.xsd">
        
        <bean id="defaultWebServerConnector" class="org.eclipse.jetty.server.ServerConnector">
            <constructor-arg ref="webServer"/>
            <constructor-arg>
                <bean class="org.eclipse.jetty.util.ssl.SslContextFactory">
                    <property name="keyStorePath" value="/SpectrumKeystore"/>
                    <property name="keyManagerPassword" value="password"/>
                    <property name="keyStorePassword" value="password"/>
                </bean>
            </constructor-arg>
            <property name="host" value="${spectrum.bind.address}"/>
            <property name="port" value="${spectrum.http.port}"/>
            <property name="idleTimeout" value="-1"/>
        </bean>
    </beans>
  5. Ändern Sie die folgenden Zeilen nach Bedarf, damit sie Ihrer Umgebung entsprechen:
    <property name="keyStorePath" value="/SpectrumKeystore"/> Ändern Sie den Wert, damit er den vollständigen Pfad zum Java-Schlüsselspeicher angibt.
    <property name="keyManagerpassword" value="password"/> Ändern Sie den Wert, damit er das Kennwort für den Schlüsselspeicher angibt.
    <property name="keyStorePassword" value="password"/> Ändern Sie den Wert, damit er das Kennwort für den Schlüssel innerhalb des Schlüsselspeichers angibt.
  6. Speichern Sie die Datei spectrum-override-container-ssl.xml in SpectrumLocation/server/app/conf/spring.
  7. Öffnen Sie in einem Texteditor die Datei spectrum-container.properties, die sich in SpectrumLocation/server/app/conf befindet. Entfernen Sie die Kommentarzeichen und legen Sie die folgenden Eigenschaften fest:

    spectrum.http.port=port
    spectrum.runtime.port=port
    spectrum.runtime.hostname=dnsname

    Dabei steht port für den Netzwerkport für die Kommunikation mit den Clients (z. B. 8443) und dnsname für den Hostnamen des Spectrum™ Technology Platform-Servers. Der angegebene Port muss für spectrum.http.port und spectrum.runtime.port identisch sein.

  8. Wenn Sie HTTPS-Kommunikation für das Location Intelligence-Modul und die Spectrum-Geodatendienste konfigurieren, müssen Sie eine zusätzliche Konfiguration vornehmen, bevor Sie den Spectrum™ Technology Platform-Server neu starten.
    1. Ändern Sie die Datei java.properties (SpectrumLocation\server\modules\spatial), indem Sie alle Hostnamen und Ports ändern, sodass sie identisch mit den für den Spectrum™ Technology Platform-Server verwendeten sind. Der Hostname muss mit dem DNS-Namen des Servers und dem CN-Wert im Zertifikat übereinstimmen. Setzen Sie die Eigenschaft repository.useSecureConnection auf true. Beispiel:
      repository.host=www.spectrum.com
      repository.port=8443
      repository.useSecureConnection=true
    2. Ändern Sie in Spatial Manager die URLs in diesen Dienstkonfigurationen, um HTTPS zu verwenden:
      • Mapping (nur erforderlich, wenn auf den Mapping-Dienst per SOAP zugegriffen wird und der ReturnImage-Parameter für eine RenderMap-Anforderung "false" ist)
      • WFS
      • WMS
      • WMTS

      Weitere Informationen finden Sie im Spatial Manager-Handbuch im Abschnitt „Dienstprogramme“ des Spectrum Spatial-Handbuchs.

  9. Starten Sie den Spectrum™ Technology Platform-Server.
    • Klicken Sie dazu unter Windows auf das Spectrum™ Technology Platform-Symbol auf der Windows-Taskleiste und wählen Sie Spectrum starten aus. Wahlweise können Sie auch die Option „Dienste“ in der Windows-Systemsteuerung verwenden und den Pitney Bowes Spectrum™ Technology Platform-Dienst starten.
    • Führen Sie unter Unix oder Linux das Skript SpectrumLocation/server/bin/server.start aus.