你在这里: 管理员指南 > FME服务器获得: > 保护FME服务器和应用程序/服务 > 配置为HTTPS

配置为HTTPS

HTTPS确保了客户端和服务器之间的通信被加密,这样,如果被拦截,第三方不能容易地查看或使用该信息。对于FME Server,您可以使用HTTPS确保敏感日志中的信息不被暴露。如果您使用的是Active Directory集成,这一点尤为重要。

启用FME Server的SSL支持

启用SSL支持:

  1. 修改服务的URL使用HTTPS
  2. 启用网络和/或应用程序服务器上的SSL
  3. 在WebSocket服务器上启用SSL
  4. 验证配置

修改服务的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服务器上具有管理特权的用户。

  1. 打开命令提示符。
  2. 输入以下命令:

    keytool -genkey -别名tomcat -keyalg RSA

    keystore <your_keystore_filename>

    如果你的路径未设置到Java箱子目录,导航到该目录并键入适当的命令。

    注意:一个JDK必须安装使用keytool命令。

    一条消息提示您输入密钥存储库密码。

  3. 输入密钥库密码。

  4. 输入所需的详细信息,如下图所示:

    注意:(仅由ca颁发的证书):用服务器域名回答“您的姓和名是什么?”例如,“fmeserver.example.org”。

  5. 输入在步骤3中输入的相同密码。

    密钥存储库在以下位置生成:

    < >开用户:\ \<用户名>\ .keystore

  6. (ca颁发的证书只)

    1. 生成证书签署要求(CSR):

    2. keytool -certreq -keyalg RSA -别名tomcat -文件certreq.csr

      keystore <your_keystore_filename>

    3. 根据您的CA的指示,向您的CA提交CSR (certreq.scr)以获得证书。

    4. 证书导入密钥库。根据Web应用程序服务器上,您可能还需要导入根证书(请咨询您的Web应用程序或CA的说明)。

    5. keytool -导入-别名根-密钥库<your_keystore_filename>

      -trustcacerts -file <chain_certificate_filename>

      密钥工具-import -alias的Tomcat -keystore <your_keystore_filename>

      -file <certificate_filename>

  7. 复制的.keystore文件到Tomcat目录,然后将路径复制到文件。

    如果您使用默认的web应用程序包括FME服务器,Tomcat位于:

    \工具\ tomcat

  8. 打开server.xml文件:

    <TomcatDir> \ conf \ server.xml

  9. 找到连接器代码块,并将其替换为以下代码:

    <连接器协议= " 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,
    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”
    。请注意,这些密码的强度等级比以前版本的FME服务器文档中提供的更高。

  10. 请确保设置keystoreFile路径到正确的位置和keystorePass到您在步骤3中输入的密码。此外,如果将FME服务器服务url配置为使用443以外的端口,则必须在港口redirectPort指令。
  11. 更改侦听器类名行(发现附近的文件的开始),它是如何写如下:

    <监听器的className = “org.apache.catalina.core.AprLifecycleListener” 的SSLEngine = '关闭'/>

  12. 保存server.xml文件。
  13. 打开web . xml文件:

    <TomcatDir> \ conf \ web . xml

  14. 在结束标签之前,在文件的末尾添加以下代码块:
  15. <安全约束>

    < web-resource-collection >

    <网络的资源名> HTTPSOnly

    < url模式> / * < / url模式>

    < user-data-constraint >

    <传输保证> < /传输保证机密>

    < / user-data-constraint >

    < /安全约束>

  16. 保存web . xml文件。
  17. 如果您使用的是默认的FME服务器应用程序服务器,请重新启动该服务。或者,如果您使用自己的Tomcat应用程序,请重新启动它。
  18. 打开浏览器,然后导航至https://localhost: <港口>。如果使用步骤9中指定的相同端口,<港口>443

    这将向您显示相同的Tomcat主页,但是采用安全的格式。

  19. (仅限自签名证书)在托管FME服务器核心的机器上运行以下JDK密钥工具从命令提示命令:
  20. "%JAVA_HOME%\jre\lib\security\cacerts" -file <你的签名证书> keypass <关键密码>对于storepass <库密码>

    该命令将导入不可信证书到FME Server数据库,并指示Web应用程序服务器破例它。

在WebSocket服务器上启用SSL

FME Server的服务器的WebSocket支持不安全或安全连接。(只有一个或目前所支持的其他协议)。要启用SSL,编辑在您的服务器安装的fmeWebSocketConfig.txt文件(<FMEServerDir> \服务器)。

  1. WEBSOCKET_SSL_ENABLED = true
  2. 取消对WEBSOCKET_KEYSTORE_FILE_PATH指令并将其设置为引用您下产生的密钥库文件启用网络和/或应用程序服务器上的SSL。例如:
  3. WEBSOCKET_KEYSTORE_FILE_PATH = /数据/ fmeserver /工具/ tomcat / keystore.jks

  4. 在以下文件中为WEBSOCKET_ENABLE_SSL、WEBSOCKET_KEYSTORE_FILE_PATH和WEBSOCKET_KEYSTORE_FILE_PASSWORD指令指定相同的设置:
    • <FMEServerDir> \ websocket.properties \ Server \ config \用户
    • <FMEServerDir> \服务器\ CONFIG \出版商\ websocket.properties

在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可以运行作业。

另请参阅