Konfigurieren für HTTPS
- Vorkenntnisse: Fortgeschritten
- Geschätzter Zeitbedarf: 45-60 Minuten
- Voraussetzungen:
- Testen Sie Jobs und Dienste, um sicherzustellen, dass FME Flow voll funktionsfähig ist. Weitere Informationen finden Sie unter Überprüfen der Installation
Vertrautheit mit den Anweisungen der Zertifizierungsstelle (CA) Ihres Zertifikatsanbieters, insbesondere für die Erstellung der Certificate Signing Request (CSR).
- (Empfohlen) Vertrautheit mit der SSL-Konfiguration und den Zertifikaten Ihres Web Application Servers. (Apache Tomcat ist das Servlet für eine Express- oder fehlertolerante Installation von FME Flow, sowie eine Option bei bestimmten verteilten Installationen).
- (Empfohlen) Verfügbarkeit der Person, die Ihre Zertifikate generiert.
Konfigurieren für HTTPS
HTTPS stellt sicher, dass die Kommunikation zwischen Client und Server verschlüsselt ist, sodass Dritte die Informationen nicht ohne weiteres abrufen und verwenden können. Sie können HTTPS mit FME Flow verwenden, um sicherzustellen, dass sensible Anmeldeinformationen nicht offengelegt werden.
Im Folgenden werden zwei Methoden zur Unterstützung der Absicherung von FME Flow mit HTTPS vorgestellt. Für alternative Methoden, wie z.B. die Verwendung eines selbstsignierten Zertifikats, siehe Configuring FME Flow for HTTPS in der FME Community.
Weitere Informationen zum Konfigurieren von Apache Tomcat für HTTPS oder zum Verwenden einer anderen Version von Apache Tomcat finden Sie in der Dokumentation zu Ihrer Version unter https://tomcat.apache.org/.

Verwendung eines CA-ausgestellten Zertifikats
Bei dieser Methode müssen Sie eine Zertifikatsignierungsanforderung von FME Flow generieren, mit der Ihr IT-Team ein CA-Zertifikat mit den Erweiterungen .cer oder .crt erstellen kann. Wenn das Zertifikat die Erweiterung .pfx verwendet, folgen Sie stattdessen Verwenden eines PFX- oder P12-Zertifikats (unten).
- Erstellen eines Skripts zur Erzeugung eines Schlüsselspeichers
- Ausführen des Skripts für die Erzeugung des Schlüsselspeichers
- Öffnen Sie eine Eingabeaufforderung als Administrator und navigieren Sie zum Java-Bin-Verzeichnis der FME Flow-Installation:
- Führen Sie den in Schritt 1 erstellten Befehl aus.
- Erzeugen einer Zertifikatsignierungsanforderung (CSR):
- Beziehen eines Zertifikats
- Importieren des Zertifikats in den Schlüsselspeicher
- Importieren Sie das Stammzertifikat (wenn Sie eines haben):
- Importieren Sie das Zwischenzertifikat (wenn Sie eines haben):
- Importieren Sie das Zertifikat:
- Importieren des Schlüsselspeichers in die vertrauenswürdigen Zertifikate von FME Flow
- Sichern der Tomcat-XML-Konfigurationsdateien
- Konfigurieren von server.xml
- Starten Sie als Administrator einen Texteditor und öffnen Sie die Datei server.xml, die sich in <FMEFlowDir>\Utilities\tomcat\conf befindet.
- Suchen Sie die Einstellung SSLEngine in dem Element <Listener>, einschließlich className="org.apache.catalina.core.AprLifecycleListener" und ändern Sie den Wert "on" zu "off".
- Suchen Sie das Element <Connector>, das protocol="org.apache.coyote.http11.Http11NioProtocol" . enthält und ersetzen Sie das gesamte Element durch:
- (Optional) Um den Port für die HTTPS-Kommunikation zu ändern, ändern Sie 443 auf den gewünschten Port, und zwar für die beiden Direktiven port und redirectPort.
- Speichern und schließen Sie die Datei server.xml.
- Konfigurieren von web.xml
- Öffnen Sie die Datei web.xml, die sich in <FMEFlowDir>\Utilities\tomcat\conf befindet.
- Fügen Sie den folgenden Codeblock am Ende der Datei unmittelbar vor dem Abschlusselement </web-app> hinzu:
- Speichern und schließen Sie die Datei web.xml.
- Konfigurieren von context.xml
- Öffnen Sie die Datei context.xml, die sich in <FMEFlowDir>\Utilities\tomcat\conf befindet.
- Fügen Sie am Ende der Datei kurz vor dem Abschlusselement </context> Folgendes hinzu:
- Speichern und schließen Sie die Datei context.xml.
- Aktualisieren der FME Flow-Web-URL zur Verwendung von HTTPS
- Überprüfen der HTTPS-Konfiguration
- Führen Sie einen Neustart von FME Flow durch.
- Öffnen Sie einen Webbrowser und navigieren Sie zu https://localhost/. Wenn Sie Tomcat für die Verwendung eines anderen Ports als des Standardports 443 konfiguriert haben, geben Sie auch den Port an (https://localhost:<port>).
- Die FME Flow-Anmeldeseite sollte in einem gesicherten Format angezeigt werden.
- Ändern der Service-URLs zur Verwendung von HTTPS
- Öffnen Sie in der FME Flow-Web-Benutzeroberfläche die Seite Services.
- Klicken Sie auf Alle Hosts ändern und ändern Sie im Feld URL-Syntax HTTP in HTTPS. (Möglicherweise hat FME Flow diese Änderung bereits vorgenommen.) Ändern Sie ggf. die Portnummer - typischerweise wird SSL entweder auf Port 8443 oder 443 konfiguriert. Klicken Sie abschließend auf OK.
- Ausführen eines Beispiel-Workspaces mit dem Data Download- und Job-Submitter-Dienst, um zu bestätigen, dass Ihr FME Flow mit HTTPS arbeitet.
- (Optional) Aktivieren von SSL auf dem WebSocket-Server
- Starten Sie einen Texteditor als Administrator und öffnen Sie die Datei fmeWebSocketConfig.txt in Ihrem FME Flow-Installationsverzeichnis (<FMEFlowDir>\Server).
- Setzen Sie
WEBSOCKET_ENABLE_SSL=true
. - Kommentieren Sie die Direktive WEBSOCKET_KEYSTORE_FILE_PATH aus und legen Sie fest, dass auf die in server.xml in Schritt 8 festgelegte Schlüsselspeicherdatei verwiesen wird. Zum Beispiel:
- Kommentieren Sie die Direktive WEBSOCKET_KEYSTORE_FILE_PASSWORD aus und legen Sie fest, dass auf das in server.xml in Schritt 8 festgelegte Kennwort für die Schlüsselspeicherdatei verwiesen wird. Zum Beispiel:
- Geben Sie dieselben Einstellungen für die Direktiven WEBSOCKET_ENABLE_SSL, WEBSOCKET_KEYSTORE_FILE_PATH und WEBSOCKET_KEYSTORE_FILE_PASSWORD in den folgenden Dateien an:
- <FMEFlowDir>\Server\config\subscribers\websocket.properties
- <FMEFlowDir>\Server\config\publishers\websocket.properties
- Aktualisieren Sie in den folgenden Dateien das Protokoll in der Eigenschaft
value
der Direktive PROPERTY von"ws:"
auf"wss:"
- <FMESharedResourceDir>\localization\publishers\websocket\publisherProperties.xml
- <FMESharedResourceDir>\localization\subscribers\websocket\subscriberProperties.xml
- Führen Sie die folgenden .bat-Dateien aus, die sich in <FMEFlowDir>\Clients\utilities befinden:
- addPublishers.bat
- addSubscribers.bat
- Führen Sie einen Neustart von FME Flow durch.
- Um zu testen, ob die Konfiguration vollständig ist, führen Sie Jobs aus und zeigen Sie Themen-Monitoring an.
- (Optional) Aktualisieren der SSO-Authentifizierungs-URL zur Verwendung von HTTPS
- Starten Sie einen Texteditor als Administrator und öffnen Sie die Datei fmeserver propertiesFile.properties, die sich in <FMEFlowDir>\Utilities\tomcat\webapps\fmeserver\WEB-INF\conf\ befindet.
- Suchen Sie den SINGLE_SIGN_ON_AUTH_URL-Parameter und aktualisieren Sie den Hostnamen- und Port-Teil der URL, so dass er mit dem Hostnamen übereinstimmt, über den auf die FME Flow-Web-Benutzeroberfläche zugegriffen wird.
Öffnen Sie einen Texteditor und kopieren Sie das folgende Beispielskript, wobei Sie die Argumentwerte durch Ihre eigenen ersetzen.
keytool -genkey -noprompt -keyalg RSA -keystore tomcat.keystore -alias <alias> -dname "<dname>" -storepass <storepass> -keypass <keypass> -ext san="<san>" -deststoretype pkcs12

Argument |
Beschreibung |
---|---|
genkey | Der Keytool-Programmbefehl zum Erzeugen eines neuen Schlüsselspeichers. |
noprompt |
Durch die Verwendung dieses Arguments im Befehl wird jegliche Interaktion mit dem Benutzer unterdrückt. |
keyalg | Der Algorithmus zum Erzeugen eines Paares aus privatem und öffentlichem Schlüssel. |
keystore |
Der Name der Schlüsselspeicherdatei. |
deststoretype | Schlüsselspeichertyp, pkcs12 oder jks. |
dname | Der CN-Name, die Organisationseinheit, die Organisation, der Standort (Stadt), das Bundesland und der aus zwei Buchstaben bestehende Ländercode. Der vollqualifizierte Name besteht aus einer Reihe von Werten, die zum Erstellen des Zertifikats verwendet werden und die so eingegeben werden sollten, wie sie FME Flow-Benutzern und Besuchern angezeigt werden sollen. |
storepass, keypass | Das Kennwort des Schlüssels und des Schlüsselspeichers. Der Wert muss aus mindestens sechs Zeichen bestehen und für beide Argumente gleich sein. |
ext san | Der alternative Name ist eine strukturierte Art, alle Domänennamen und IP-Adressen anzugeben, die durch das Zertifikat gesichert sind. |
alias | Der Name des Schlüssels innerhalb des zu erstellenden Schlüsselspeichers. |
Beispiel:
keytool -genkey -noprompt -keyalg RSA -keystore tomcat.keystore -alias tomcat -dname "CN=fmeserver.example.org, OU=support, O=SafeSoftware, L=Surrey, S=BC, C=CA" -storepass password1 -keypass password1 -ext san="dns:fmeserver.example.org,dns:fmeserver" -deststoretype pkcs12
cd <FMEFlowDir>\Utilities\jre\bin\
Wobei <FMEFlowDir> der Speicherort des FME Flow-Installationsordners ist.
Bleiben Sie in der Eingabeaufforderung in <FMEFlowDir>\Utilities\jre\bin\ und führen Sie Folgendes aus:
keytool -certreq -keyalg RSA -alias <alias> -file <filename> -keystore tomcat.keystore -ext san="<san>"
Geben Sie den Pfad der Zertifikatsignierungsanforderung für <filename> an und aktualisieren Sie <alias> und <san> so, dass sie mit den Angaben in Schritt 1 übereinstimmen.
Beispiel:
keytool -certreq -keyalg RSA -alias tomcat -file certreq.csr -keystore tomcat.keystore -ext san="dns:fmeserver.example.org,dns:fmeserver"
Senden Sie die in Schritt 3 erzeugte CSR (z. B. certreq.csr) an Ihre CA, um ein Zertifikat gemäß den Anweisungen Ihrer CA zu erhalten.
Wenn Sie mehrere Zertifikate haben, installieren Sie diese in der folgenden Reihenfolge und stellen Sie sicher, dass Sie den Alias und den Zertifikatspfad für jedes Zertifikat aktualisieren.
keytool -import -alias root -keystore tomcat.keystore -trustcacerts -file <path/certificate_filename>
keytool -import -alias intermediate -keystore tomcat.keystore -trustcacerts -file <path/certificate_filename>
keytool -import -alias <alias> -keystore tomcat.keystore -trustcacerts -file <path/certificate_filename>
Verwenden Sie in einer Eingabeaufforderung von <FMEFlowDir>\Utilities\jre\bin\ aus den folgenden Befehl, um den Schlüsselspeicher in die vertrauenswürdigen Zertifikate von FME Flow zu importieren, wobei Sie das Argument srcstorepass mit dem Kennwort aus Schritt 1 angeben.
keytool -importkeystore -noprompt -srckeystore tomcat.keystore -destkeystore "<FMEFlowDir>\Utilities\jre\lib\security\cacerts" -deststorepass changeit -srcstorepass <password>
Navigieren Sie zu <FMEFlowDir>\Utilities\tomcat\conf und erstellen Sie Sicherungskopien von server.xml, web.xml und context.xml. Dieser Schritt wird empfohlen, damit Sie die Konfiguration bei Bedarf jederzeit leicht rückgängig machen können.
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
port="443"
minSpareThreads="5"
enableLookups="true"
disableUploadTimeout="true"
acceptCount="100"
maxThreads="200"
maxHttpHeaderSize="16384"
scheme="https"
secure="true"
SSLEnabled="true"
keystoreFile="<file>"
keystorePass="<password>"
clientAuth="false" sslEnabledProtocols="TLSv1.1,TLSv1.2"
sslImplementationName="org.apache.tomcat.util.net.jsse.JSSEImplementation"
ciphers="TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_AES_128_GCM_SHA256,DHE-RSA-AES256-GCM-SHA384,DHE-RSA-AES128-GCM-SHA256,ECDHE-RSA-AES256-GCM-SHA384,ECDHE-RSA-AES128-GCM-SHA256,DHE-RSA-AES256-SHA256,DHE-RSA-AES128-SHA256,ECDHE-RSA-AES256-SHA384,ECDHE-RSA-AES128-SHA256,ECDHE-RSA-AES256-SHA,ECDHE-RSA-AES128-SHA,DHE-RSA-AES256-SHA,DHE-RSA-AES128-SHA"
URIEncoding="UTF8" />
<Connector port="80" protocol="HTTP/1.1" redirectPort="443"/>
Stellen Sie sicher, dass Sie die Parameter keystoreFile und keystorePass auf den in Schritt 1 festgelegten Schlüsselspeicher-Speicherort und das Kennwort aktualisieren. Ein Beispiel finden Sie unter dieser server.xml-Referenz. Enthält das Kennwort ungültige XML-Zeichen < > " ' &, müssen diese mit einem Escape-Zeichen versehen werden.
Hinweis:
Um TLS 1.1 zu deaktivieren, entfernen Sie TLSv1.1 aus der sslEnabledProtocols-Einstellung.
Die Liste der Chiffren ist nicht vollständig. Wenn Ihr Zertifikat mit einem anderen Algorithmus erstellt wurde, muss die entsprechende Chiffre hinzugefügt werden. Alle nicht verwendeten Algorithmen können sicher aus dieser Liste entfernt werden. Eine vollständige Liste der von Tomcat unterstützten Chiffren finden Sie in der Apache Tomcat 9.0.69 API-Dokumentation.
<security-constraint>
<web-resource-collection>
<web-resource-name>HTTPSOnly</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<Valve className="org.apache.catalina.authenticator.SSLAuthenticator" disableProxyCaching="false" />
a. Starten Sie einen Texteditor als Administrator und öffnen Sie fmeServerConfig.txt.
b. Aktualisieren Sie die Direktive FME_SERVER_WEB_URL, indem Sie http in https ändern und den Port auf den gleichen wie in Schritt 8 angegeben ändern.
c. Speichern und schließen Sie die Datei.
Um Jobs in FME Flow über HTTPS zu übermitteln, müssen Sie SSL für die FME Flow Web Services aktivieren.
Ihr FME Flow ist nun für die Arbeit über HTTPS konfiguriert. Wenn Sie jedoch den WebSocket Server oder Integrierte Windows-Authentifizierung verwenden, sind einige zusätzliche Schritte erforderlich.
Der FME Flow WebSocket Server unterstützt unsichere (ws://) oder sichere Verbindungen (wss://). Diese Konfiguration ist nur erforderlich, wenn Sie den WebSocket-Server oder Themen-Monitoring (veraltet) verwenden möchten.
WEBSOCKET_KEYSTORE_FILE_PATH=<FMEFlowDir>/Utilities/tomcat/tomcat.keystore
WEBSOCKET_KEYSTORE_FILE_PASSWORD=password1
Zum Beispiel:
SINGLE_SIGN_ON_AUTH_URL=https://<MyFMEServerHost>:443/fmetoken/sso/generate
Verwenden eines PFX- oder P12-Zertifikats
Verwenden Sie diese Anleitung, um Ihren FME Flow für HTTPS mit einem .pfx oder .p12 Zertifikat zu konfigurieren, das Sie von einer Zertifizierungsstelle (CA) erhalten haben. Wenn Sie kein Zertifikat haben, folgen Sie stattdessen den Anweisungen unter Verwendung eines CA-ausgestellten Zertifikats (oben).

- Erstellen einer Sicherungskopie der Tomcat-XML-Konfigurationsdateien
- Konfigurieren von server.xml
- Starten Sie als Administrator einen Texteditor und öffnen Sie die Datei server.xml, die sich in <FMEFlowDir>\Utilities\tomcat\conf befindet.
- Suchen Sie die Einstellung SSLEngine in dem Element <Listener>, einschließlich className="org.apache.catalina.core.AprLifecycleListener" und ändern Sie den Wert "on" zu "off".
- Suchen Sie das Element <Connector>, das protocol="org.apache.coyote.http11.Http11NioProtocol" . enthält und ersetzen Sie das gesamte Element durch:
- (Optional) Um den Port für die HTTPS-Kommunikation zu ändern, ändern Sie 443 auf den gewünschten Port, und zwar für die beiden Direktiven port und redirectPort.
- Speichern und schließen Sie die Datei server.xml.
- Konfigurieren von web.xml
- Öffnen Sie die Datei web.xml, die sich in <FMEFlowDir>\Utilities\tomcat\conf befindet.
- Fügen Sie den folgenden Codeblock am Ende der Datei unmittelbar vor dem Abschlusselement </web-app> hinzu:
- Speichern und schließen Sie die Datei web.xml.
- Konfigurieren von context.xml
- Öffnen Sie die Datei context.xml, die sich in <FMEFlowDir>\Utilities\tomcat\conf befindet.
- Fügen Sie am Ende der Datei kurz vor dem Abschlusselement </context> Folgendes hinzu:
- Speichern und schließen Sie die Datei context.xml.
- Aktualisieren der FME Flow-Web-URL zur Verwendung von HTTPS
- (Optional) Exportieren Sie das Zertifikat aus dem Browser im Base-64-Format und importieren Sie es in den cacerts Truststore
- Überprüfen der HTTPS-Konfiguration
- Führen Sie einen Neustart von FME Flow durch.
- Öffnen Sie einen Webbrowser und navigieren Sie zu https://localhost/. Wenn Sie Tomcat für die Verwendung eines anderen Ports als des Standardports 443 konfiguriert haben, geben Sie auch den Port an (https://localhost:<port>).
- Die FME Flow-Anmeldeseite sollte in einem gesicherten Format angezeigt werden.
- Ändern der Service-URLs zur Verwendung von HTTPS
- Öffnen Sie in der FME Flow-Web-Benutzeroberfläche die Seite Services.
- Klicken Sie auf Alle Hosts ändern und ändern Sie im Feld URL-Syntax HTTP in HTTPS. (Möglicherweise hat FME Flow diese Änderung bereits vorgenommen.) Ändern Sie ggf. die Portnummer - typischerweise wird SSL entweder auf Port 8443 oder 443 konfiguriert. Klicken Sie abschließend auf OK.
- Ausführen eines Beispiel-Workspaces mit dem Data Download- und Job-Submitter-Dienst, um zu bestätigen, dass Ihr FME Flow mit HTTPS arbeitet.
- (Optional) Aktivieren von SSL auf dem WebSocket-Server
- Starten Sie einen Texteditor als Administrator und öffnen Sie die Datei fmeWebSocketConfig.txt in Ihrem FME Flow-Installationsverzeichnis (<FMEFlowDir>\Server).
- Setzen Sie
WEBSOCKET_ENABLE_SSL=true
. - Kommentieren Sie die Direktive WEBSOCKET_KEYSTORE_FILE_PATH aus und legen Sie fest, dass auf die in server.xml in Schritt 2 festgelegte Schlüsselspeicherdatei verwiesen wird. Zum Beispiel:
- Kommentieren Sie die Direktive WEBSOCKET_KEYSTORE_FILE_PASSWORD aus und legen Sie fest, dass auf das in server.xml in Schritt 2 festgelegte Kennwort für die Schlüsselspeicherdatei verwiesen wird. Zum Beispiel:
- Geben Sie dieselben Einstellungen für die Direktiven WEBSOCKET_ENABLE_SSL, WEBSOCKET_KEYSTORE_FILE_PATH und WEBSOCKET_KEYSTORE_FILE_PASSWORD in den folgenden Dateien an:
- <FMEFlowDir>\Server\config\subscribers\websocket.properties
- <FMEFlowDir>\Server\config\publishers\websocket.properties
- Aktualisieren Sie in den folgenden Dateien das Protokoll in der Eigenschaft
value
der Direktive PROPERTY von"ws:"
auf"wss:"
- <FMESharedResourceDir>\localization\publishers\websocket\publisherProperties.xml
- <FMESharedResourceDir>\localization\subscribers\websocket\subscriberProperties.xml
- Führen Sie die folgenden .bat-Dateien aus, die sich in <FMEFlowDir>\Clients\utilities befinden:
- addPublishers.bat
- addSubscribers.bat
- Führen Sie einen Neustart von FME Flow durch.
- Um zu testen, ob die Konfiguration vollständig ist, führen Sie Jobs aus und zeigen Sie Themen-Monitoring an.
- (Optional) Aktualisieren der SSO-Authentifizierungs-URL zur Verwendung von HTTPS
- Starten Sie einen Texteditor als Administrator und öffnen Sie die Datei fmeserver propertiesFile.properties, die sich in <FMEFlowDir>\Utilities\tomcat\webapps\fmeserver\WEB-INF\conf\ befindet.
- Suchen Sie den SINGLE_SIGN_ON_AUTH_URL-Parameter und aktualisieren Sie den Hostnamen- und Port-Teil der URL, so dass er mit dem Hostnamen übereinstimmt, über den auf die FME Flow-Web-Benutzeroberfläche zugegriffen wird.
Gehen Sie zu <FMEFlowDir>\Utilities\tomcat\conf und erstellen Sie Sicherungskopien von server.xml, web.xml und context.xml.
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
port="443"
minSpareThreads="5"
enableLookups="true"
disableUploadTimeout="true"
acceptCount="100"
maxThreads="200"
maxHttpHeaderSize="16384"
scheme="https"
secure="true"
SSLEnabled="true"
keystoreFile="<file>"
keystorePass="<password>"
keystoreType="PKCS12"
clientAuth="false" sslEnabledProtocols="TLSv1.1,TLSv1.2"
sslImplementationName="org.apache.tomcat.util.net.jsse.JSSEImplementation"
ciphers="TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_AES_128_GCM_SHA256,DHE-RSA-AES256-GCM-SHA384,DHE-RSA-AES128-GCM-SHA256,ECDHE-RSA-AES256-GCM-SHA384,ECDHE-RSA-AES128-GCM-SHA256,DHE-RSA-AES256-SHA256,DHE-RSA-AES128-SHA256,ECDHE-RSA-AES256-SHA384,ECDHE-RSA-AES128-SHA256,ECDHE-RSA-AES256-SHA,ECDHE-RSA-AES128-SHA,DHE-RSA-AES256-SHA,DHE-RSA-AES128-SHA"
URIEncoding="UTF8" />
<Connector port="80" protocol="HTTP/1.1" redirectPort="443"/>
Die Datei keystoreFile sollte auf Ihr .pfx-Zertifikat verweisen. Es wird empfohlen, dieses Zertifikat im Tomcat-Verzeichnis von FME Flow zu speichern: <FMEFlowDir>\Utilities\tomcat\. Stellen Sie sicher, dass keystorePass auf das Kennwort für Ihr PFX-Zertifikat eingestellt ist. Enthält das Kennwort ungültige XML-Zeichen < > " ' &, müssen diese mit einem Escape-Zeichen versehen werden.
Hinweis:
Um TLS 1.1 zu deaktivieren, entfernen Sie TLSv1.1 aus der sslEnabledProtocols-Einstellung.
Die Liste der Chiffren ist nicht vollständig. Wenn Ihr Zertifikat mit einem anderen Algorithmus erstellt wurde, muss die entsprechende Chiffre hinzugefügt werden. Alle nicht verwendeten Algorithmen können sicher aus dieser Liste entfernt werden. Eine vollständige Liste der von Tomcat unterstützten Chiffren finden Sie in der Apache Tomcat 9.0.69 API-Dokumentation.
<security-constraint>
<web-resource-collection>
<web-resource-name>HTTPSOnly</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<Valve className="org.apache.catalina.authenticator.SSLAuthenticator" disableProxyCaching="false" />
a. Starten Sie einen Texteditor als Administrator und öffnen Sie fmeServerConfig.txt.
b. Aktualisieren Sie die Direktive FME_SERVER_WEB_URL, indem Sie http in https ändern und den Port auf den gleichen wie in Schritt 2 angegeben ändern.
c. Speichern und schließen Sie die Datei.
a. Starten Sie den FME Flow Application Server-Dienst neu
b. Öffnen Sie einen Browser und navigieren Sie zu https://localhost/. Wenn Sie Tomcat für die Verwendung eines anderen Ports als des Standardports 443 konfiguriert haben, geben Sie auch den Port an (https://localhost:<port>).
c. Zeigen Sie das Zertifikat im Browser an.
d. Wählen Sie die Registerkarte Details und klicken Sie auf Exportieren .
e. Speichern Sie es im Dateityp Base-64-codierter ASCII-Code, Einzelzertifikat (CRT) auf der lokalen Festplatte (zum Beispiel <certpath>\mycert.crt)
f. Importieren Sie den Schlüsselspeicher in die vertrauenswürdigen Zertifikate von FME Flow
Wechseln Sie in einer Eingabeaufforderung als Administrator in das Verzeichnis <FMEFlowDir>\Utilities\jre\bin\. Verwenden Sie den folgenden Befehl, um den Schlüsselspeicher in die vertrauenswürdigen Zertifikate von FME Flow zu importieren:
keytool -import -trustcacerts -keystore "<FMEFlowDir>\Utilities\jre\lib\security\cacerts" -storepass changeit -noprompt -file <certpath>\mycert.crt
Um Jobs in FME Flow über HTTPS zu übermitteln, müssen Sie SSL für die FME Flow Web Services aktivieren.
Ihr FME Flow ist nun für die Arbeit über HTTPS konfiguriert. Wenn Sie jedoch den WebSocket Server oder Integrierte Windows-Authentifizierung verwenden, sind einige zusätzliche Schritte erforderlich.
Der FME Flow WebSocket Server unterstützt unsichere (ws://) oder sichere Verbindungen (wss://). Diese Konfiguration ist nur erforderlich, wenn Sie den WebSocket-Server oder Themen-Monitoring (veraltet) verwenden möchten.
WEBSOCKET_KEYSTORE_FILE_PATH=<FMEFlowDir>/Utilities/tomcat/mycert.pfx
WEBSOCKET_KEYSTORE_FILE_PASSWORD=password1
Zum Beispiel:
SINGLE_SIGN_ON_AUTH_URL=https://<MyFMEServerHost>:443/fmetoken/sso/generate

FME Flow unter Linux enthält einen NGINX-Reverse-Proxy, der eine einfache SSL-Konfiguration und die Möglichkeit bietet, Ports unter 1024 ohne Root-Berechtigung auszuwählen. HTTPS wird auf dem NGINX-Reverse-Proxy und nicht auf dem Apache Tomcat Web Application Server konfiguriert.
- Erstellen Sie ein Verzeichnis für das Zertifikat:
- Legen Sie ein Zertifikat und einen Schlüssel in das neue Verzeichnis.
- Wenn Sie ein von einer Zertifizierungsstelle (CA) ausgestelltes Zertifikat verwenden, benötigen Sie das Zertifikat oder Zertifikatspaket (.crt) und den Zertifikatsschlüssel (.key).
Wenn Sie ein .pfx- oder .p12-Zertifikat verwenden, müssen Sie es in das .crt- und .key-Format konvertieren. Weitere Informationen finden Sie unter Configuring FME Flow for HTTPS in der FME Community.
- Alternativ können Sie ein selbstsigniertes SSL-Zertifikat und einen Schlüsselspeicher mit dem folgenden Befehl erzeugen:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/< KeyName >.key -out /etc/nginx/ssl/< CertName >.crt
Ersetzen Sie <KeyName> und <CertName> durch die Dateinamen des Schlüssels bzw. des Zertifikats, z. B. nginx.key und nginx.crt.
- Aktivieren Sie den Diffie-Hellman-Schlüsselaustausch:
- Öffnen Sie die Datei /etc/nginx/conf.d/fmeserver.conf.
- Entkommentieren Sie den server-Block, der Anweisungen zum Abhören von Port 80 und Umleiten zu Port 443 enthält. Dieser Block sollte etwa so aussehen wie der folgende:
- Kommentieren Sie im zentralen server-Block die Zeile mit der Anweisung, Port 80 zu überwachen, aus und entfernen Sie die Kommentare in den Zeilen, die die Überwachung von Port 443 mit SSL anweisen, und fügen Sie die SSL-Konfiguration ein. Wenn Sie fertig sind, sollten diese Zeilen wie folgt aussehen:
- Kommentieren Sie im websocket server-Block die entsprechenden Zeilen aus, um sicherzustellen, dass das Abhören auf Port 7078 mit SSL erfolgt. Wenn Sie fertig sind, sollten diese Zeilen wie folgt aussehen:
- Speichern und schließen Sie die Datei.
- Öffnen Sie die Datei /etc/nginx/fmeserver/ssl.conf und vergewissern Sie sich, dass das SSL-Zertifikat und der Schlüssel auf den richtigen Namen und das richtige Verzeichnis Ihres Zertifikats verweisen, wie in Schritt 1 und 2 definiert.
- Laden Sie die NGINX-Konfiguration neu:
- Öffnen Sie die Datei server.xml als Administrator. Diese Datei befindet sich in <FMEFlowDir>\Utilities\tomcat\conf.
- Aktualisieren Sie die proxyPort-Direktive auf 443:
- Aktualisieren Sie die scheme-Direktive auf https:
- Speichern und schließen Sie die Datei.
- Öffnen Sie die folgende Konfigurationsdatei: /opt/fmeserver/Utilities/tomcat/webapps/fmeserver/WEB-INF/conf/propertiesFile.properties
- Aktualisieren Sie die Direktive WEB_SOCKET_SERVER_PORT auf 443:
- Speichern und schließen Sie die Datei.
-
Aktualisieren Sie die FME Flow-Web-URL, um HTTPS zu verwenden:
-
Starten Sie einen Texteditor als Administrator und öffnen Sie fmeServerConfig.txt.
-
Aktualisieren Sie am Ende der Datei unter FME SERVER SETTINGS START > Port and Host Assignments die Direktive FME_SERVER_WEB_URL von http auf https und ändern Sie den Port auf den gleichen, wie in Schritt 2 angegeben.
-
Speichern und schließen Sie die Datei.
-
-
Führen Sie einen Neustart von FME Flow durch.
sudo mkdir /etc/nginx/ssl
sudo openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
sudo chmod 400 /etc/nginx/ssl/dhparam.pem
# Redirect from 80 to 443 when SSL is enabled
server {
listen 80;
server_name <<hostname>>;
location / {
return 301 https://$host$request_uri;
}
}
#listen 80;
listen 443 ssl;
include /etc/nginx/fmeserver/ssl.conf;
#listen 7078;
listen 7078 ssl;
include /etc/nginx/fmeserver/ssl.conf;
service nginx reload
proxyPort="443"
scheme="https"
WEB_SOCKET_SERVER_PORT=443