为HTTPS配置
HTTPS确保客户端和服务器之间的通信是加密的,如果被截获,第三方无法轻松查看或使用信息。对于FME服务器,您可以使用https来确保敏感的登录信息不会被公开。
要启用SSL支持:
- 在Web应用程序服务器上启用SSL
- 验证配置
- 修改服务URL以使用https
- 修改FME服务器Web URL以使用HTTPS
- 在WebSocket服务器上启用SSL(可选)
根据方法,在不同的Web应用程序服务器上设置SSL的说明各不相同。下面的示例提供了为ApacheTomcat8.5设置SSL的步骤,它是包含在快速安装FME服务器中的应用服务器,作为某些自定义安装的选项。
注:有关为HTTPS配置Apache Tomcat的更多信息,或者如果您使用的是不同版本的ApacheTomcat,在上查看您的版本的文档http://tomcat.apache.org网站/.
对于任何https(ssl)页面,需要证书。为了开发和测试的目的,支持自签名证书。用于生产用途,我们建议您使用来自已验证的SSL证书颁发机构(CA)的SSL证书。
第一,必须使用Java开发工具工具包(JDK)生成包含证书链的密钥存储库。
- 将命令提示符打开为管理员并导航到Java bin目录(<费米尔维尔>\实用程序\jre\bin\)
- 运行以下命令以创建新的密钥库文件:
keytool-genkey-alias tomcat-keyalg rsa-keystore tomcat.keystore
- 运行上一个命令后,系统将提示您为新密钥库设置密码并指定服务器域名(例如,fmeserver.example.org网站)作为你的姓和名。
- 当提示输入别名的密码时<雄猫>,按压返回。
- 在中创建新的密钥库<费米尔维尔>\实用程序\jre\bin\。
- 将新的密钥库文件复制到FME服务器安装中的tomcat目录:<费米尔维尔>\实用程序\ Tomcat\。
如果没有使用CA颁发的证书,必须使用以下命令将新密钥库导入到受信任证书的FME服务器密钥库中:
密钥工具-importkeystore-srckeystore tomcat.keystore-destkeystore<费米尔维尔>\实用程序\jre\lib\security\cacerts
系统将提示您输入两个密码。一个用于目标密钥库。目标密钥库的密码为改变它
.源密钥库的密码是步骤3中指定的密码,上面。
- 生成证书签名请求(CSR):
- 向您的CA提交CSR(certreq.scr)以获取证书,根据你的CA的指示。
- 将证书导入密钥库。取决于Web应用程序服务器,您可能还需要导入根证书(请参阅您的Web应用程序或CA的说明)。
keytool-certreq-keyalg rsa-alias tomcat-file
certreq.csr-密钥库tomcat.keystore
导入根证书:
keytool-import-alias root-keystore tomcat.keystore-trustcacerts-file<证书\文件名>
导入证书:
keytool-导入-别名tomcat-keystore tomcat.keystore-文件<证书\文件名>
在接下来的步骤中,我们修改了ApacheTomcat的三个配置文件。所有三个文件都位于FME服务器安装目录中:<费米尔维尔>\实用程序\tomcat\conf\。
注:作为最佳实践,我们建议在修改任何配置文件之前创建它们的备份副本。
- 在文本编辑器中打开server.xml文件:
- 定位SSL引擎设置在
元素,包括classname=“org.apache.catalina.core.aprliFecycleListener”并且改变“on”价值到“关”. - 定位
包含以下内容的元素: - 一定要换<费米尔维尔>和<Youl密码>使用fme server的安装目录和步骤3中在下指定的密钥库的密码创建密钥库文件.
- (可选)要更改用于HTTPS通信的端口,改变四百四十三到所需的端口,对于两者港口和重定向端口指令。
- 保存并关闭server.xml文件。
protocol=“组织.apache.coyote.http11.http11nioprotocol”
并替换为以下内容:
port=“443”minsparethreads=“5”
enableLookups=“true”disableUploadTimeout=“true”
acceptCount=“100”maxthreads=“200”
scheme=“https”secure=“true”sslenabled=“true”
KyStReFiels=费米尔维尔>\实用程序\tomcat\tomcat.keystore“
KyStutePass=“<Youl密码>
clientauth=“false”sslenabledprotocols=“tlsv1,tlsv1.1,tlsv1.2”
sslimplementationname=“org.apache.tomcat.util.net.jsse.jsseimplementation”
ciphers=“tls-ecdhe-rsa_-aes_128_-cbc_sha256,tls-ecdhe-rsa_-aes_128_-cbc_sha,
tls eu ecdhe_rsa_与aes_256_cbc_sha384,tls eu ecdhe_rsa_与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_与aes_128_cbc_sha,tls_rsa_与aes_256_cbc_sha,
ssl_rsa_with_3des_ede_cbc_sha“
uriencoding=“utf8”/>
重定向端口=“443”/>
注:仅针对以下事件完成此步骤:protocol=“组织.apache.coyote.http11.http11nioprotocol”不包括在 注释语法。
- 在文本编辑器中打开web.xml文件。
- 在文件末尾添加以下代码块,就在闭幕前元素:
- 保存并关闭web.xml文件。
- 打开上下文XML文本编辑器中的文件。
- 将以下内容添加到文件末尾,就在闭幕前元素:
disableproxycaching=“false”/>
- 保存并关闭context.xml文件。
验证是否为FME服务器正确配置了HTTPS。
- 重新启动FME服务器应用服务器服务。
- 打开浏览器并导航到https://localhost/。如果您将Tomcat配置为使用标准端口443以外的端口,还要指定端口(https://localhost:)<港口>)。
- 您应该看到一个安全格式的FME服务器登录页面。
注:如果使用自签名证书进行测试,您的浏览器可能会报告页面不安全。
要为服务启用SSL,打开服务FME服务器Web用户界面的页面。在服务页面上,单击所需的服务。
将打开“编辑服务”页。
在URL模式字段中,将HTTP更改为HTTPS,修改端口号,如果需要的话。通常在端口8443或443上配置SSL。
- 打开fmeserverconfig.txt,位于<费米尔维尔>服务器\。
- 更新fme_server_web_url指令的值,如下所示:
- 变化HTTP协议到HTTPS.
- 将端口更新到上一步中指定的端口(修改服务URL以使用https)。
- 保存并关闭文件。
FME服务器WebSocket服务器支持不安全(ws://)或安全连接(wss://)。仅当使用FME服务器的WebSocket功能时才需要此配置。
- 打开FME服务器安装目录中的fmewebsocketconfig.txt文件(<费米尔维尔>服务器。
- 集合
websocket_enable_ssl=true
. - 取消评论websocket_keystore_file_路径指令并将其设置为引用在下生成的密钥库文件在Web应用程序服务器上启用SSL.
- 取消评论websocket_keystore_file_密码指令并将其设置为引用在下生成的密钥库文件密码在Web应用程序服务器上启用SSL.
- 为websocket_-enable_-ssl指定相同的设置,websocket_keystore_file_路径,以及以下文件中的websocket_keystore_file_password指令:
- <费米尔维尔>\服务器\配置\订阅服务器\ websocket.properties
- <费米尔维尔>\服务器\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文件,位于<费米尔维尔>\客户端\实用程序:
- 添加发布服务器.bat
- 添加订阅服务器.bat
websocket_keystore_file_path=c:/program files/fmeserver/utilities/tomcat/<您的密钥存储文件名>
注:不要将密码括在引号中。
注:除非修改,C:\ProgramData是%AllUsersProfile%环境变量的默认值。
也见