FME Flow:2025.1
Configuration pour HTTPS
- Niveau de compétence: Avancé
- Temps estimé requis: 45-60 minutes
- Prérequis:
- Tester les emplois et les services pour garantirFME Flow est entièrement fonctionnel. Pour plus d'informations, voirVérifier l'installation
Connaissance des instructions de l'autorité de certification (CA) de votre fournisseur de certificats, notamment pour générer la demande de signature de certificat (CSR).
- (Recommandé) Familiarité avec la configuration SSL et les certificats de votre serveur d'applications Web. (Apache Tomcat est le servlet pour unExprimer ouTolérant aux pannes l'installation deFME Flow, et en option avec certainsDistribué installations.)
- (Recommandé) Accès à la personne qui génère vos certificats.
Configuration pour HTTPS
HTTPS garantit que la communication entre le client et le serveur est cryptée, de sorte que si elle est interceptée, un tiers ne peut pas facilement visualiser ou utiliser les informations. Vous pouvez utiliser HTTPS avecFME Flow pour garantir que les informations de connexion sensibles ne sont pas exposées.
Voici deux méthodes prises en charge pour sécuriserFME Flow avec HTTPS. Pour des méthodes alternatives, telles que l'utilisation d'un certificat auto-signé, voirConfigurationFME Flow pour HTTPS dans leFME Community.
Pour plus d'informations sur la configuration d'Apache Tomcat pour HTTPS, ou si vous utilisez une version différente d'Apache Tomcat, consultez la documentation de votre version surhttps://tomcat.apache.org/.
Utilisation d'un certificat émis par une autorité de certification
Cette méthode nécessite que vous génériez une demande de signature de certificat à partir deFME Flow, que votre équipe informatique peut utiliser pour créer un certificat CA avec les extensions .cer ou .crt. Si le certificat utilise l'extension .pfx, suivezUtilisation d'un certificat PFX ou P12 (ci-dessous) à la place.
- Créer un script de génération de keystore
- Exécuter le script de génération du magasin de clés
- Ouvrez une invite de commande en tant qu'administrateur et accédez auFME Flow répertoire bin d'installation de Java :
- Exécutez la commande créée à l’étape 1.
- Générer une demande de signature de certificat (CSR)
- Obtenir un certificat
- Importer le certificat dans le Keystore
- Importez le certificat racine (si vous en avez un) :
- Importer le certificat intermédiaire (si vous en avez un) :
- Importer le certificat :
- Importer le Keystore dansFME Flowcertificats de confiance de
- Sauvegarder les fichiers de configuration XML de Tomcat
- Configurer server.xml
- Exécutez un éditeur de texte en tant qu'administrateur et ouvrez server.xml, situé dans <FMEFlowDir>\Utilitaires\tomcat\conf.
- Localisez le<Connecteur> élément qui contientprotocole="org.apache.coyote.http11.Http11NioProtocol" et remplacez l'élément entier par :
- Pour désactiver TLS 1.1, supprimezTLSv1.1,de laProtocoles SSL activés paramètre.
- La liste deschiffresn'est pas exhaustive. Si votre certificat a été généré avec un algorithme différent, le chiffrement applicable doit être ajouté. Tous les algorithmes non utilisés peuvent être supprimés en toute sécurité de cette liste. Pour une liste complète des chiffrements pris en charge par Tomcat, consultez leDocumentation de l'API Apache Tomcat 9.0.69.
- (Facultatif) Pour modifier le port de communication HTTPS, modifiez443au port souhaité, pour les deuxportetredirectPortdirectives.
- Enregistrez et fermez le fichier server.xml.
- Configurer web.xml
- Ouvrez web.xml, situé dans <FMEFlowDir>\Utilitaires\tomcat\conf.
- Ajoutez le bloc de code suivant à la fin du fichier, juste avant la fermeture</web-app> élément:
- Enregistrez et fermez le fichier web.xml.
- Configurer context.xml
- Ouvrez context.xml, situé dans <FMEFlowDir>\Utilitaires\tomcat\conf.
- Ajoutez ce qui suit à la fin du fichier, juste avant la fermeture</context> élément:
- Enregistrez et fermez le fichier context.xml.
- Mettre à jour leFME Flow URL Web à utiliser HTTPS
- Exécutez un éditeur de texte en tant qu’administrateur et ouvrez les fichiersfmeFlowConfig.txt et fmeFlowWebApplicationConfig.txt.
- Dans les deux fichiers, mettez à jour leURL_WEB_SERVER_FME directive en changeanthttpà httpset remplacez le port par celui spécifié à l'étape 8.
- Enregistrez et fermez les fichiers.
- Vérifier la configuration HTTPS
- RedémarrageFME Flow.
- Ouvrez un navigateur Web et accédez à https://localhost/. Si vous avez configuré Tomcat pour utiliser un port autre que le port standard 443, spécifiez également le port (https://localhost:<port>).
- Vous devriez voir leFME Flow page de connexion dans un format sécurisé.
- Modifier les URL de service pour utiliser HTTPS
- Dans leFME Flow Interface utilisateur Web, ouvrez leServices page.
- CliquezChanger tous les hôtes et, dans leModèle d'URL champ, changementHTTPà HTTPS. (FME Flow (vous avez peut-être déjà défini cette modification.) Si nécessaire, modifiez le numéro de port (généralement, SSL est configuré sur le port 8443 ou 443). Une fois terminé, cliquez sur OK .
- Courir un échantillonworkspace avec les services de téléchargement de données et de soumission de tâches pour confirmer votreFME Flow fonctionne avec HTTPS.
- (Facultatif) Activer SSL sur le serveur WebSocket
- Exécutez un éditeur de texte en tant qu'administrateur et ouvrez le fichier fmeWebSocketConfig.txt dans votreFME Flow répertoire d'installation (<FMEFlowDir>\Serveur).
- Ensemble
WEBSOCKET_ENABLE_SSL=true. - Décommentez leCHEMIN_FICHIER_KEYSTORE_WEBSOCKET directive et définissez-la pour référencer le fichier keystore défini dans server.xml à l'étape 8. Par exemple:
- Décommentez leWEBSOCKET_KEYSTORE_FILE_PASSWORD directive et définissez-la pour référencer le mot de passe du fichier de clés défini dans server.xml à l'étape 8. Par exemple:
- Spécifiez les mêmes paramètres pour les directives WEBSOCKET_ENABLE_SSL, WEBSOCKET_KEYSTORE_FILE_PATH et WEBSOCKET_KEYSTORE_FILE_PASSWORD dans les fichiers suivants :
- <FMEFlowDir>\Server\config\subscribers\websocket.properties
- <FMEFlowDir>\Server\config\publishers\websocket.properties
- In the following files, update the protocol in the
valueproperty of the PROPERTY directive from"ws:"to"wss:" - <FMESharedResourceDir>\localization\publishers\websocket\publisherProperties.xml
- <FMESharedResourceDir>\localisation\abonnés\websocket\subscriberProperties.xml
- Exécutez les fichiers .bat suivants, situés dans <FMEFlowDir>\Clients\utilitaires :
- addPublishers.bat
- addSubscribers.bat
- RedémarrageFME Flow.
- Pour tester que la configuration est complète,exécuter des tâches et vueSuivi des sujets.
- (Facultatif) Mettez à jour l'URL d'authentification SSO pour utiliser HTTPS
- Exécutez un éditeur de texte en tant qu'administrateur et ouvrez le fichier de propriétés fmeserver.properties, situé dans <FMEFlowDir>\Utilitaires\tomcat\webapps\fmeserver\WEB-INF\conf\.
- Localisez leURL_D'AUTORISATION_D'IDENTIFICATION_UNIQUE paramètre et mettez à jour le nom d'hôte et la partie port de l'URL pour qu'ils correspondent au nom d'hôte via lequel leFME Flow L'interface utilisateur Web est accessible.
Ouvrez un éditeur de texte et copiez l’exemple de script ci-dessous, en remplaçant les valeurs d’argument par les vôtres.
keytool -genkey -noprompt -keyalg RSA -keystore tomcat.keystore -alias <alias> -dname "<nom de domaine>" -storepass <pass magasin > -keypass <passe-partout > -ext san="< san>" -deststoretype pkcs12
|
Argument |
Description |
|---|---|
| genkey | La commande du programme keytool pour générer un nouveau keystore. |
| pas d'invite |
L'utilisation de cet argument dans la commande supprime toute interaction avec l'utilisateur. |
| keyalg | L'algorithme pour générer une paire de clés privée/publique. |
|
magasin de clés |
Le nom du fichier de clés. |
| type de magasin de destination | Type de magasin de clés,pkcs12 oublagues. |
| nom de domaine | Le nom CN, l'unité d'organisation, l'organisation, l'emplacement (ville), l'état et le code pays à deux lettres. Le nom distinctif est un ensemble de valeurs utilisées pour créer le certificat et doit être saisi comme vous souhaitez qu'elles soient présentées.FME Flow utilisateurs et visiteurs. |
| passe-magasin, passe-clé | Le mot de passe de la clé et du keystore. La valeur doit comporter au moins six caractères et doit être la même pour les deux arguments. |
| poste san | Le nom alternatif du sujet est une manière structurée d'indiquer tous les noms de domaine et adresses IP sécurisés par le certificat. |
| alias | Le nom de la clé à l'intérieur du magasin de clés en cours de création. |
Exemple:
keytool -genkey -noprompt -keyalg RSA -keystore tomcat.keystore -alias tomcat -dname "CN=fmeflow.example.org, OU=support, O=SafeSoftware, L=Surrey, S=BC, C=CA" -storepass mot de passe1 -keypass mot de passe1 -ext san="dns:fmeflow.example.org,dns:fmeflow" -deststoretype pkcs12
cd <FMEFlowDir>\Utilitaires\jre\bin\
Où<FMEFlowDir> est l'emplacement de laFME Flow dossier d'installation.
Dans l'invite de commande, restez dans <FMEFlowDir>\Utilities\jre\bin\ et exécutez :
keytool -certreq -keyalg RSA -alias <alias> -fichier <nom de fichier> -keystore tomcat.keystore -ext san="<san>"
Spécifiez le chemin de la demande de signature de certificat vers le<nom de fichier>, et mettre à jour <alias> et <san> pour correspondre à l'ensemble de l'étape 1.
Exemple:
keytool -certreq -keyalg RSA -alias tomcat -file certreq.csr -keystore tomcat.keystore -ext san="dns:fmeflow.example.org,dns:fmeflow"
Soumettez le CSR (par exemple, certreq.csr) généré à l'étape 3 à votre autorité de certification pour obtenir un certificat, conformément aux instructions de votre autorité de certification.
Si vous disposez de plusieurs certificats, installez-les dans l’ordre suivant et assurez-vous de mettre à jour l’alias et le chemin du certificat pour chacun.
keytool -import -alias root -keystore tomcat.keystore -trustcacerts -file <chemin/nom_fichier_certificat>
keytool -import -alias intermediate -keystore tomcat.keystore -trustcacerts -file <chemin/nom_fichier_certificat>
keytool -import -alias <alias> -keystore tomcat.keystore -trustcacerts -file <chemin/nom_fichier_certificat>
Dans une invite de commande, à partir de <FMEFlowDir>\Utilities\jre\bin\, utilisez la commande suivante pour importer le keystore dansFME Flowcertificats de confiance de , spécifiant lesrcstorepassargument avec le mot de passe de l'étape 1.
keytool -importkeystore -noprompt -srckeystore tomcat.keystore -destkeystore "<FMEFlowDir>\Utilitaires\jre\lib\security\cacerts" -deststorepass changeit -srcstorepass <mot de passe>
Accédez à <FMEFlowDir>\Utilities\tomcat\conf et effectuez des sauvegardes de server.xml, web.xml et context.xml. Nous vous recommandons cette étape afin que vous puissiez facilement rétablir la configuration à tout moment si nécessaire.
<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" maxParameterCount="1000" 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"/>
Assurez-vous de mettre à jour lefichier keystoreet keystorePassparamètres de l'emplacement du magasin de clés et du mot de passe définis à l'étape 1. Pour un exemple, voircette référence server.xml. Si le mot de passe contient des caractères XML non valides< > « ' &, ils doivent être échappés.
<contrainte de sécurité>
<collection-de-ressources-web>
<web-resource-name>HTTPSOnly</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<contrainte-de-données-utilisateur>
<transport-guarantee>CONFIDENTIEL</transport-guarantee>
</user-data-constraint>
</contrainte de sécurité>
<Valve className="org.apache.catalina.authenticator.SSLAuthenticator" disableProxyCaching="false" />
Pour soumettre des offres d'emploi surFME Flow via HTTPS, vous devez activer SSL pour leFME FlowServices Web.
TonFME Flow est maintenant configuré pour fonctionner via HTTPS. Cependant, si vous utilisez leServeur WebSocket ouAuthentification Windows intégrée, quelques étapes supplémentaires sont nécessaires.
LeFME FlowServeur WebSocket prend en charge les connexions non sécurisées (ws://) ou sécurisées (wss://). Cette configuration n'est requise que si vous souhaitez utiliser le serveur WebSocket ouSuivi des sujets (héritage).
CHEMIN_FICHIER_KEYSTORE_WEBSOCKET=<FMEFlowDir>/Utilitaires/tomcat/tomcat.keystore
WEBSOCKET_KEYSTORE_FILE_PASSWORD=mot de passe1
Par exemple:
URL_D'AUTORISATION_DE_SIGNATURE_UNIQUE=https://<MonFMEFlowHost>:443/fmetoken/sso/generate
Utilisation d'un certificat PFX ou P12
Utilisez ces instructions pour configurer votreFME Flow pour HTTPS en utilisant un certificat .pfx ou .p12 obtenu auprès d'une autorité de certification (CA). Si vous n'avez pas de certificat, suivez les instructions pourUtilisation d'un certificat émis par une autorité de certification (ci-dessus) à la place.
- Effectuer une sauvegarde des fichiers de configuration XML de Tomcat
- Configurer server.xml
- Exécutez un éditeur de texte en tant qu'administrateur et ouvrez server.xml, situé dans <FMEFlowDir>\Utilitaires\tomcat\conf.
- Localisez le<Connecteur> élément qui contientprotocole="org.apache.coyote.http11.Http11NioProtocol" et remplacez l'élément entier par :
- Pour désactiver TLS 1.1, supprimezTLSv1.1,de laProtocoles SSL activés paramètre.
- La liste deschiffresn'est pas exhaustive. Si votre certificat a été généré avec un algorithme différent, le chiffrement applicable doit être ajouté. Tous les algorithmes non utilisés peuvent être supprimés en toute sécurité de cette liste. Pour une liste complète des chiffrements pris en charge par Tomcat, consultez leDocumentation de l'API Apache Tomcat 9.0.69.
- (Facultatif) Pour modifier le port de communication HTTPS, modifiez443au port souhaité, pour les deuxportetredirectPortdirectives.
- Enregistrez et fermez le fichier server.xml.
- Configurer web.xml
- Ouvrez web.xml, situé dans <FMEFlowDir>\Utilitaires\tomcat\conf.
- Ajoutez le bloc de code suivant à la fin du fichier, juste avant la fermeture</web-app> élément:
- Enregistrez et fermez le fichier web.xml.
- Configurer context.xml
- Ouvrez context.xml, situé dans <FMEFlowDir>\Utilitaires\tomcat\conf.
- Ajoutez ce qui suit à la fin du fichier, juste avant la fermeture</context> élément:
- Enregistrez et fermez le fichier context.xml.
- Mettre à jour leFME Flow URL Web à utiliser HTTPS
- Exécutez un éditeur de texte en tant qu’administrateur et ouvrez les fichiersfmeFlowConfig.txt et fmeFlowWebApplicationConfig.txt.
- Dans les deux fichiers, mettez à jour leURL_WEB_SERVER_FME directive en changeanthttpà httpset remplacez le port par celui spécifié à l'étape 2.
- Enregistrez et fermez les fichiers.
- (Facultatif) Exportez le certificat du navigateur au format base 64 et importez-le dans le magasin de confiance cacerts
- Vérifier la configuration HTTPS
- RedémarrageFME Flow.
- Ouvrez un navigateur Web et accédez à https://localhost/. Si vous avez configuré Tomcat pour utiliser un port autre que le port standard 443, spécifiez également le port (https://localhost:<port>).
- Vous devriez voir leFME Flow page de connexion dans un format sécurisé.
- Modifier les URL de service pour utiliser HTTPS
- Dans leFME Flow Interface utilisateur Web, ouvrez leServices page.
- CliquezChanger tous les hôtes et, dans leModèle d'URL champ, changementHTTPà HTTPS. (FME Flow (vous avez peut-être déjà défini cette modification.) Si nécessaire, modifiez le numéro de port (généralement, SSL est configuré sur le port 8443 ou 443). Une fois terminé, cliquez sur OK .
- Courir un échantillonworkspace avec les services de téléchargement de données et de soumission de tâches pour confirmer votreFME Flow fonctionne avec HTTPS.
- (Facultatif) Activer SSL sur le serveur WebSocket
- Exécutez un éditeur de texte en tant qu'administrateur et ouvrez le fichier fmeWebSocketConfig.txt dans votreFME Flow répertoire d'installation (<FMEFlowDir>\Serveur).
- Ensemble
WEBSOCKET_ENABLE_SSL=true. - Décommentez leCHEMIN_FICHIER_KEYSTORE_WEBSOCKET directive et définissez-la pour référencer le fichier keystore défini dans server.xml à l'étape 2. Par exemple:
- Décommentez leWEBSOCKET_KEYSTORE_FILE_PASSWORD directive et définissez-la pour référencer le mot de passe du fichier de clés défini dans server.xml à l'étape 2. Par exemple:
- Spécifiez les mêmes paramètres pour les directives WEBSOCKET_ENABLE_SSL, WEBSOCKET_KEYSTORE_FILE_PATH et WEBSOCKET_KEYSTORE_FILE_PASSWORD dans les fichiers suivants :
- <FMEFlowDir>\Server\config\subscribers\websocket.properties
- <FMEFlowDir>\Server\config\publishers\websocket.properties
- In the following files, update the protocol in the
valueproperty of the PROPERTY directive from"ws:"to"wss:" - <FMESharedResourceDir>\localization\publishers\websocket\publisherProperties.xml
- <FMESharedResourceDir>\localisation\abonnés\websocket\subscriberProperties.xml
- Exécutez les fichiers .bat suivants, situés dans <FMEFlowDir>\Clients\utilitaires :
- addPublishers.bat
- addSubscribers.bat
- RedémarrageFME Flow.
- Pour tester que la configuration est complète,exécuter des tâches et vueSuivi des sujets.
- (Facultatif) Mettez à jour l'URL d'authentification SSO pour utiliser HTTPS
- Exécutez un éditeur de texte en tant qu'administrateur et ouvrez le fichier de propriétés fmeserver.properties, situé dans <FMEFlowDir>\Utilitaires\tomcat\webapps\fmeserver\WEB-INF\conf\.
- Localisez leURL_D'AUTORISATION_D'IDENTIFICATION_UNIQUE paramètre et mettez à jour le nom d'hôte et la partie port de l'URL pour qu'ils correspondent au nom d'hôte via lequel leFME Flow L'interface utilisateur Web est accessible.
Aller à <FMEFlowDir>\Utilities\tomcat\conf et effectuez des sauvegardes de server.xml, web.xml et 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" maxParameterCount="1000" 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"/>
Lefichier keystore devrait pointer vers votre certificat .pfx. Nous vous recommandons de conserver ce certificat dansFME FlowRépertoire Tomcat : <FMEFlowDir>\Utilitaires\tomcat\. Assurez-vous que lekeystorePass est défini sur le mot de passe de votre certificat PFX. Si le mot de passe contient des caractères XML non valides< > « ' &, ils doivent être échappés.
<contrainte de sécurité>
<collection-de-ressources-web>
<web-resource-name>HTTPSOnly</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<contrainte-de-données-utilisateur>
<transport-guarantee>CONFIDENTIEL</transport-guarantee>
</user-data-constraint>
</contrainte de sécurité>
<Valve className="org.apache.catalina.authenticator.SSLAuthenticator" disableProxyCaching="false" />
un. Redémarrez leFME Flow Service de serveur d'applications
b. Ouvrez un navigateur et accédez à https://localhost/. Si vous avez configuré Tomcat pour utiliser un port autre que le port standard 443, spécifiez également le port (https://localhost:<port>).
c. Afficher le certificat depuis le navigateur.
d. Sélectionnez leDétailstabulation et clicExporter.
f. Enregistrer sousCertificat unique (CRT) codé en base 64 ASCII sur le disque local (par exemple, <chemin de certification>\mycert.crt)
f. Importez le keystore dansFME Flowcertificats de confiance de
Dans une invite de commande, en tant qu'administrateur, changez de répertoire vers <FMEFlowDir>\Utilitaires\jre\bin\. Utilisez la commande suivante pour importer le keystore dansFME Flowcertificats de confiance de :
keytool -import -trustcacerts -keystore "<FMEFlowDir>\Utilitaires\jre\lib\security\cacerts" -storepass changeit -noprompt -file <chemin de certification>\mycert.crt
Pour soumettre des offres d'emploi surFME Flow via HTTPS, vous devez activer SSL pour leFME FlowServices Web.
TonFME Flow est maintenant configuré pour fonctionner via HTTPS. Cependant, si vous utilisez leServeur WebSocket ouAuthentification Windows intégrée, quelques étapes supplémentaires sont nécessaires.
LeFME FlowServeur WebSocket prend en charge les connexions non sécurisées (ws://) ou sécurisées (wss://). Cette configuration n'est requise que si vous souhaitez utiliser le serveur WebSocket ouSuivi des sujets (héritage).
CHEMIN_FICHIER_KEYSTORE_WEBSOCKET=<FMEFlowDir>/Utilitaires/tomcat/mycert.pfx
WEBSOCKET_KEYSTORE_FILE_PASSWORD=mot de passe1
Par exemple:
URL_D'AUTORISATION_DE_SIGNATURE_UNIQUE=https://<MonFMEFlowHost>:443/fmetoken/sso/generate
FME Flowsur Linux, il inclut un proxy inverse NGINX qui permet une configuration SSL facile et la possibilité de choisir des ports inférieurs à 1024 sans autorisation root. HTTPS est configuré sur le proxy inverse NGINX plutôt que sur le serveur d'applications Web Apache Tomcat.
- Créer un répertoire pour le certificat :
- Placez un certificat et une clé dans le nouveau répertoire.
- Si vous utilisez un certificat émis par une autorité de certification (CA), vous aurez besoin du certificat ou du bundle de certificats (.crt) et de la clé de certificat (.key).
Si vous utilisez un certificat .pfx ou .p12, vous devez le convertir au format .crt et .key. Pour plus d'informations, voirConfigurationFME Flow pour HTTPS dans leFME Community.
- Alternativement, vous pouvez générer un certificat SSL auto-signé et un keystore avec la commande suivante :
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/<Nom de clé>.key -out /etc/nginx/ssl/<Nom du certificat >.crt
Remplacer< Nom de clé > et < Nom du certificat > avec les noms de fichiers de clé et de certificat, respectivement, Par exemple,nginx.key et nginx.crt.
- Activer l'échange de clés Diffie-Hellman :
- Ouvrez le fichier /etc/nginx/conf.d/fmeflow.conf.
- Décommentez leserveurbloc contenant des instructions pour écouter sur le port 80 et rediriger vers le port 443. Ce bloc devrait ressembler à ce qui suit :
- En généralserveurbloquez, commentez la ligne avec les instructions pour écouter sur le port 80 et décommentez les lignes qui demandent d'écouter sur le port 443 avec SSL et incluez la configuration SSL. Une fois terminées, ces lignes devraient apparaître comme suit :
- Dans leserveur Websocket bloquez, commentez et décommentez les lignes applicables pour garantir que l'écoute se produit sur le port 7078 avec SSL. Une fois terminées, ces lignes devraient apparaître comme suit :
- Enregistrez et fermez le fichier.
- Ouvrez le fichier /etc/nginx/fmeflow/ssl.conf et assurez-vous que le certificat SSL et la clé pointent vers le nom et le répertoire corrects de votre certificat, comme défini dans les étapes 1 et 2.
- Recharger la configuration NGINX :
- Ouvrez le fichier server.xml en tant qu'administrateur. Ce fichier se trouve dans <FMEFlowDir>\Utilitaires\tomcat\conf.
- Mettre à jour leproxyPortdirective à443:
- Mettre à jour leschèmedirective àhttps:
- Enregistrez et fermez le fichier.
- Ouvrez le fichier de configuration suivant : /opt/fmeflow/Utilities/tomcat/webapps/fmeserver/WEB-INF/conf/propertiesFile.properties
- Mettre à jour lePORT_SERVEUR_SOCKET_WEB directive à443:
- Enregistrez et fermez le fichier.
- Mettre à jour leFME Flow URL Web à utiliser HTTPS :
- Exécutez un éditeur de texte en tant qu’administrateur et ouvrez les fichiersfmeFlowConfig.txt et fmeFlowWebApplicationConfig.txt.
- À la fin des deux fichiers, sousDÉMARRAGE DES PARAMÈTRES DU SERVEUR FME >Affectations de ports et d'hôtes, mettre à jour le URL_WEB_SERVER_FME directive dehttpà https , et remplacez le port par celui spécifié à l'étape 2.
- Enregistrez et fermez les fichiers.
- RedémarrageFME Flow.
sudo mkdir /etc/nginx/ssl
sudo openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
sudo chmod 400 /etc/nginx/ssl/dhparam.pem
# Redirection de 80 vers 443 lorsque SSL est activé
serveur {
écouter 80;
nom_serveur <<nom_hôte>>;
emplacement / {
retourner 301 https://$host$request_uri;
}
}
#écouter 80;
écouter 443 ssl;
inclure /etc/nginx/fmeflow/ssl.conf ;
#écouter 7078;
écouter 7078 ssl;
inclure /etc/nginx/fmeflow/ssl.conf ;
service de rechargement nginx
proxyPort="443"
schéma="https"
WEB_SOCKET_SERVER_PORT=443