配置为HTTPS
HTTPS确保客户端和服务器之间的通信是加密的,因此如果它被拦截,第三方就不能轻松地查看或使用信息。对于FME服务器,可以使用HTTPS来确保敏感的登录信息不被暴露。
启用SSL支持:
- 在Web应用服务器上启用SSL
- 验证配置
- 修改服务url以使用HTTPS
- 修改FME服务器的Web URL以使用HTTPS
- 在WebSocket服务器上启用SSL(可选)
根据方法的不同,在不同的web应用服务器上设置SSL的指令也不同。下面的示例提供了为Apache Tomcat 8.5设置SSL的步骤,该应用服务器包含在FME服务器的express安装中,并可作为某些自定义安装的选项。
注:有关为HTTPS配置Apache Tomcat的更多信息,或者如果您使用的是不同版本的Apache Tomcat,请参阅有关您的版本的文档http://tomcat.apache.org/。
对于任何HTTPS (SSL)页面,都需要一个证书。出于开发和测试的目的,支持自签名证书。对于生产使用,我们建议您使用来自经过验证的SSL证书颁发机构(CA)的SSL证书。
首先,必须使用Java Developer Kit (JDK)中的Java Keytool生成包含证书链的密钥存储库。
- 打开命令提示符并导航到Java bin目录(<FMEServerDir>\实用程序(Utiles)
- 运行以下命令以创建新的密钥库文件:
keytool-genkey-alias tomcat-keyalg RSA-keystore tomcat.keystore
- 为新密钥库设置密码并指定服务器域名(例如,fmeserver.example.org网站)作为你的名字和姓氏。
- 当提示输入别名的密码时<野猫>,按回车键。
- 在中创建了新的密钥库<FMEServerDir>\实用程序\jre\bin\。
- 将新的密钥库文件复制到FME服务器安装中的tomcat目录:<FMEServerDir>\实用程序\ tomcat\。
如果未使用CA颁发的证书,则必须使用以下命令将新密钥库导入受信任证书的FME服务器密钥库:
keytool-importkeystore-srckeystore tomcat.keystore-destkeystore<FMEServerDir>\实用程序\jre\lib\security\cacerts
系统将提示您输入两个密码。一个用于目标密钥库。目标密钥库的密码是改变
。源密钥库的密码是在上述步骤3中指定的密码。
- 生成证书签名请求(CSR):
- 根据您的CA的指示,向您的CA提交CSR(certreq.scr)以获取证书。
- 将证书导入密钥库。根据web应用服务器的不同,您可能还需要导入根证书(请参阅web应用程序或CA的说明)。
keytool-certreq-keyalg RSA-alias tomcat-file文件
certreq.csr-密钥库tomcat.keystore
导入根证书:
keytool-import-alias root-keystore tomcat.keystore-trustcacerts-file<certificate_filename>
进口证书:
keytool-import-alias tomcat-keystore tomcat.keystore-file<certificate_filename>
在接下来的步骤中,我们将修改Apache Tomcat的三个配置文件。这三个文件都位于FME服务器安装目录中:<FMEServerDir> \工具\ tomcat \ conf \。
- 在文本编辑器中打开server.xml文件:
- 找到SSLEngine设置在
元素,包括className = " org.apache.catalina.core.AprLifecycleListener "然后改变“上”价值“关闭”。 - 找到
包含以下内容的元素: 确保兑换<FMEServerDir>和<your_password>下面的步骤3中指定了FME服务器的安装目录和密钥存储库的密码创建密钥存储库文件。
- 保存并关闭server.xml文件。
protocol=“org.apache.coyote.http11.http11nio协议”
并替换为以下内容:
port=“443”minSpareThreads=“5”
enableLookups=“true”disableUploadTimeout=“true”
acceptCount=“100”maxThreads=“200”
scheme=“https”secure=“true”SSLEnabled=“true”
密钥存储区=“<FMEServerDir>\实用程序\tomcat\tomcat.keystore“
keystorePass = " <your_password>"
clientAuth = " false " sslEnabledProtocols = " TLSv1、TLSv1.1 TLSv1.2”
sslImplementationName = " org.apache.tomcat.util.net.jsse.JSSEImplementation "
密码= " TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
TLS_RSA_WITH_AES_128_GCM_SHA256 TLS_RSA_WITH_AES_256_GCM_SHA384,
TLS_RSA_WITH_AES_128_CBC_SHA256 TLS_RSA_WITH_AES_256_CBC_SHA256,
TLS_RSA_WITH_AES_128_CBC_SHA TLS_RSA_WITH_AES_256_CBC_SHA,
SSL_RSA_WITH_3DES_EDE_CBC_SHA”
URIEncoding = " UTF8 " / >
redirectPort = " 443 " / >
- 在文本编辑器中打开web.xml文件。
- 在结束之前,将以下代码块添加到文件的末尾元素:
- 保存并关闭web.xml文件。
- 打开context.xml文本编辑器中的文件。
- 在结束之前,将以下内容添加到文件的末尾元素:
disableProxyCaching = " false " / >
- 保存并关闭context.xml文件。
验证为FME服务器正确配置了HTTPS。
- 重新启动FME服务器Web应用程序服务。
- 打开浏览器并导航到https://localhost/。如果您将Tomcat配置为使用标准端口443之外的其他端口,也要指定该端口(https://localhost:<港口>)。
- 您应该看到FME服务器登录页面的安全格式。
注:如果使用自签名证书进行测试,您的浏览器可能会报告页面不安全。
要为服务启用SSL,请打开FME服务器Web用户界面并选择服务。在Servcies页面上,单击所需的服务。
编辑服务页面打开。
在URL模式字段中,将HTTP更改为HTTPS,并根据需要修改端口号。通常,SSL是在端口8443或443上配置的。
- fmeServerConfig开放。txt,位于<FMEServerDir> \ Server \。
- FME_SERVER_WEB_URL指令的值更新如下:
- 改变http来https协议。
- 将端口更新为上一步中指定的端口(将服务url修改为使用HTTPS)。
- 保存并关闭文件。
FME服务器WebSocket服务器支持不安全的连接(ws://)或安全的连接(wss://)。只有在使用FME服务器的WebSocket功能时才需要这个配置。
- 打开FME服务器安装目录中的fmeWebSocketConfig.txt文件(<FMEServerDir> \服务器)。
- 集
WEBSOCKET_SSL_ENABLED = true
。 - 取消的WEBSOCKET_KEYSTORE_FILE_PATH指令,并将其设置为引用在其下生成的密钥存储库文件在Web应用服务器上启用SSL。
- 取消的WEBSOCKET_KEYSTORE_FILE_密码指令,并将其设置为引用在其下生成的密钥存储库文件密码在Web应用服务器上启用SSL。
- 在以下文件中为WEBSOCKET_ENABLE_SSL、WEBSOCKET_KEYSTORE_FILE_PATH和WEBSOCKET_KEYSTORE_FILE_PASSWORD指令指定相同的设置:
- <FMEServerDir>\服务器\config\subscribers\websocket.properties
- <FMEServerDir>\服务器\config\publishers\websocket.properties
- 在以下文件中,更新协议中的
价值
财产的财产指令从“ws:”
来“wss:”
- %ALLUSERSPROFILE%\亚搏在线Safe Software\FME Server\localization\publishers\websocket\publisherProperties.xml
- %ALLUSERSPROFILE%\亚搏在线Safe Software\FME Server\localization\subscribers\websocket\subscriberProperties.xml
- 运行以下.bat文件,位于<FMEServerDir> \ \客户实用程序:
- 添加发布者.bat
- 添加订户.bat
WEBSOCKET_KEYSTORE_FILE_PATH = C: /程序文件/ FMEServer /工具/ tomcat / <your_keystore_filename>
注:不要把密码放在引号里。
注:除非修改过,否则C:\ProgramData是%ALLUSERSPROFILE%环境变量的默认值。
另请参阅