配置为HTTPS
HTTPS确保了客户端和服务器之间的通信被加密,这样,如果被拦截,第三方不能容易地查看或使用该信息。对于FME Server,您可以使用HTTPS确保敏感日志中的信息不被暴露。如果您使用的是Active Directory集成,这一点尤为重要。
启用FME Server的SSL支持
启用SSL支持:
修改服务的URL使用HTTPS
要启用SSL的服务,打开FME Server的Web用户界面,选择管理>管理>服务,并单击表所需的服务。
这时将打开编辑服务页面。
在网址格式字段中,更改HTTP到HTTPS,并修改端口号,如果需要的话。典型地,SSL要么端口8443或443上配置。
启用网络和/或应用程序服务器上的SSL
根据不同的方法,说明设置SSL在不同应用服务器而有所不同。下面的例子提供了用于设置SSL用于Apache Tomcat的7,其是包含在FME服务器的快速安装的应用服务器的步骤。
对于任何HTTPS (SSL)页面,都需要证书。对于开发和测试目的,支持自签名证书。对于生产使用,我们建议您使用来自经过验证的SSL证书颁发机构(CA)的SSL证书。
首先,你必须生成一个包含证书链使用一个密钥密钥工具来自Java开发工具包(JDK)的命令。
注意:为了确保密钥存储库文件的安全性,只允许运行FME服务器服务的用户访问它,并选择在FME服务器上具有管理特权的用户。
- 打开命令提示符。
输入以下命令:
keytool -genkey -别名tomcat -keyalg RSA
keystore <your_keystore_filename>
如果你的路径未设置到Java箱子目录,导航到该目录并键入适当的命令。
注意:一个JDK必须安装使用keytool命令。
一条消息提示您输入密钥存储库密码。
输入密钥库密码。
输入所需的详细信息,如下图所示:
注意:(仅由ca颁发的证书):用服务器域名回答“您的姓和名是什么?”例如,“fmeserver.example.org”。
输入在步骤3中输入的相同密码。
密钥存储库在以下位置生成:
< >开用户:\ \<用户名>\ .keystore
(ca颁发的证书只)
生成证书签署要求(CSR):
根据您的CA的指示,向您的CA提交CSR (certreq.scr)以获得证书。
证书导入密钥库。根据Web应用程序服务器上,您可能还需要导入根证书(请咨询您的Web应用程序或CA的说明)。
keytool -certreq -keyalg RSA -别名tomcat -文件certreq.csr
keystore <your_keystore_filename>
导入根证书:
keytool -导入-别名根-密钥库<your_keystore_filename>
-trustcacerts -file <chain_certificate_filename>
导入证书:
密钥工具-import -alias的Tomcat -keystore <your_keystore_filename>
-file <certificate_filename>
复制的.keystore文件到Tomcat目录,然后将路径复制到文件。
如果您使用默认的web应用程序包括FME服务器,Tomcat位于:
\工具\ tomcat 打开server.xml文件:
<TomcatDir> \ conf \ server.xml
找到连接器代码块,并将其替换为以下代码:
<连接器协议= " org.apache.coyote.http11.Http11Protocol”
端口= " 443 " minSpareThreads = " 5 "
enableLookups = " true " disableUploadTimeout = " true "
acceptCount = “100” maxThreads = “200”
计划=“https”安全= " true " SSLEnabled = " true "
keystoreFile = " C: \ Program Files \ FMEServer \ tomcat工具\ \ .keystore”
keystorePass = " <your_password>”
clientAuth = " false " sslEnabledProtocols = " TLSv1、TLSv1.1 TLSv1.2”
密码=“TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
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 = “UTF-8”/>
<连接器端口= " 80 "协议=“HTTP / 1.1”
redirectPort = " 443 " / >
注意:的sslEnabledProtocols和
密码
参数不允许使用被认为不安全的SSL v3和密码。亚搏在线然而,这些修改破坏了与Internet Explorer 6的SSL兼容性,并可能导致与Java运行时环境版本6.0 Update 45 (Java 6u45)的意外行为。有关更多信息,请参见http://googleonlinesecurity.blogspot.ca/2014/10/this-poodle-bites-exploiting-ssl-30.html。注意:为价值观
密码
上述指定是与Java V8,这是2015年1月2日和后面附带FME服务器兼容。对于早于2015年1月2日FME Server版本,指定这些密码代替,与Java兼容V7:“TLS_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
。请注意,这些密码的强度等级比以前版本的FME服务器文档中提供的更高。
TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
SSL_RSA_WITH_3DES_EDE_CBC_SHA TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA”- 请确保设置keystoreFile路径到正确的位置和keystorePass到您在步骤3中输入的密码。此外,如果将FME服务器服务url配置为使用443以外的端口,则必须在
港口
和redirectPort
指令。 更改侦听器类名行(发现附近的文件的开始),它是如何写如下:
<监听器的className = “org.apache.catalina.core.AprLifecycleListener” 的SSLEngine = '关闭'/>
- 保存server.xml文件。
打开web . xml文件:
<TomcatDir> \ conf \ web . xml
- 在结束标签之前,在文件的末尾添加以下代码块:
- 保存web . xml文件。
- 如果您使用的是默认的FME服务器应用程序服务器,请重新启动该服务。或者,如果您使用自己的Tomcat应用程序,请重新启动它。
打开浏览器,然后导航至https://localhost: <港口>。如果使用步骤9中指定的相同端口,
<港口>
是443
。这将向您显示相同的Tomcat主页,但是采用安全的格式。
- (仅限自签名证书)在托管FME服务器核心的机器上运行以下JDK密钥工具从命令提示命令:
<安全约束>
< web-resource-collection >
<网络的资源名> HTTPSOnly 网络资源名称>
< url模式> / * < / url模式>
网络资源集合>
< user-data-constraint >
<传输保证> < /传输保证机密>
< / user-data-constraint >
< /安全约束>
"%JAVA_HOME%\jre\lib\security\cacerts" -file <你的签名证书> keypass <关键密码>对于storepass <库密码>
该命令将导入不可信证书到FME Server数据库,并指示Web应用程序服务器破例它。
在WebSocket服务器上启用SSL
FME Server的服务器的WebSocket支持不安全或安全连接。(只有一个或目前所支持的其他协议)。要启用SSL,编辑在您的服务器安装的fmeWebSocketConfig.txt文件(<FMEServerDir> \服务器)。
- 集
WEBSOCKET_SSL_ENABLED = true
。 - 取消对WEBSOCKET_KEYSTORE_FILE_PATH指令并将其设置为引用您下产生的密钥库文件启用网络和/或应用程序服务器上的SSL。例如:
- 在以下文件中为WEBSOCKET_ENABLE_SSL、WEBSOCKET_KEYSTORE_FILE_PATH和WEBSOCKET_KEYSTORE_FILE_PASSWORD指令指定相同的设置:
- <FMEServerDir> \ websocket.properties \ Server \ config \用户
- <FMEServerDir> \服务器\ CONFIG \出版商\ websocket.properties
WEBSOCKET_KEYSTORE_FILE_PATH = /数据/ fmeserver /工具/ tomcat / keystore.jks
在WebSocket的出版商和WebSocket的用户启用SSL
要在通知服务启用SSLWebSocket出版商和WebSocket的用户,更新价值
属性的属性指令“ws: / / localhost: 7078 / websocket”
来“wss: / / localhost: 7078 / websocket”
在下列文件:
- <FMEServerDir> \资源\出版商\的WebSocket \ publisherProperties.xml
- <FMEServerDir> \资源\用户\的WebSocket \ subscriberProperties.xml
验证配置
要验证是否正确配置了HTTPS,请执行相关检查在这里包括确认该Web服务是可用的,并且确认FME Server可以运行作业。
另请参阅