为 PTC HTTP Server 和 Windchill 配置 HTTPS
要完成这些指示,必须安装 Windchill Services,因为它可提供完成 HTTPS 配置所需的 site.xconf 文件。
尽管出厂设置 Windchill 已配置为 HTTP,但 Windchill 已准备好支持 HTTPS,您只需最少的步骤即可实现 HTTPS。本节提供的指示仅支持使用 HTTP Server (与 Windchill 一同封装的默认 Web 服务器) 的 HTTPS。其他 Web 服务器的 HTTPS 的指示必须从产品厂商处获得。
要使 Windchill 支持其他 Web 服务器的 HTTPS,应执行以下操作:
• 使用 xconfmanager 将 wt.properties 中的 wt.server.codebase property 设置为使用 HTTPS。此指示与针对 HTTP Server 而执行的指示相同。
• 重新启动 Web 服务器、servlet 引擎和 Windchill 以使所做变更生效。
HTTPS 配置要求使用颁发机构的商用证书。由第三方厂商来分发颁发机构的证书。使用颁发机构的证书可实现多种配置方法。此处所提供的指示要求您只需执行最少的步骤即可为您的安装实现 HTTPS。
1. 获取颁发机构的证书。
第一步是获取颁发机构的证书。由第三方厂商来提供证书。Windchill 要求证书由 Java 受托。如果选择使用不是由 Java 受托的证书,则必须对 Java 进行配置,使其受托此证书。由 Verisign 和 Thawte 提供的证书是 Java 受托的颁发机构的证书。
如果 Web 服务器的颁发机构证书未由 Java 受托,则必须将颁发机构证书添加到 jssecacerts 密钥库中。执行以下命令前,必须将默认 JDK cacerts 文件复制到文件名 jssecacerts 中。cacerts 文件位于 <JAVA_HOME>/lib/security 目录下。
keytool -import -alias <某个别名>
-file <certificateAuthority.cert 的路径> -storetype jks -keystore /<JAVA_HOME>/lib/security/jssecacerts
必须对 servlet 引擎所用的 JDK、Windchill 服务器以及将访问 Web 服务器的任何其他 Java 应用程序进行此配置。
要列出受 JDK 信任的颁发机构的默认证书,请执行以下命令:
keytool -list -v -keystore /<JAVA_HOME>/lib/security/cacerts
可在以下站点找到有关 Java 安全性的其他信息:
http://java.sun.com/products/jsse
2. 配置 HTTP Server 以识别授权机构的证书。
将证书文件和私用密钥添加到 HTTP Server。默认情况下,这两个文件已提供,它们专门用作配置安全访问时的参考。
For PTC HTTP Server
a. 将证书文件 server.crt 安装到 <Apache>/conf/ 目录下。
b. 将私用密钥 server.key 安装到 <Apache>/conf/ 目录下。
3. 在 PTC HTTP Server 2.4 的 HTTPSERVER_HOME 中执行以下命令可启用 SSL:
ant -DHTTPS_ENABLED=true -f config.xml reconfigure
4. 通过将 URL 更改为 HTTPS 来为 Windchill 配置 HTTPS。
使用 xconfmanager 将以下两个属性更改为合适的值:
a. wt.webserver.port=<用于 HTTPS 的端口>。协议默认端口为 443。
b. wt.webserver.protocol=https
5. 重新启动 HTTP Server。
HTTP Server 启动命令对于 SSL 或非 SSL 服务器是相同的:
◦ 对于 Windows:
<httpserver_home>\bin\httpd.exe
◦ 对于 Unix:
<httpserver_home>/bin/apachectl
6. 重新启动 Embedded Servlet Engine。
7. 重新启动 Windchill。
其他 Windchill 产品 (如:工作组管理器) 也可支持 HTTPS,将需要其他配置来转换到 HTTPS。有关这些指示,请参阅工作组管理器文档。
HTTP 严格传输安全 (HSTS) 配置
HSTS 有助于保护网站以免受到协议降级攻击和遭到 cookie 劫持。从 Windchill 12.0.1.0 开始,预设会在经过 HTTPS 配置的 Windchill 服务器上设置 HSTS 配置。要实现安全部署,应始终在站点上配置 HTTPS。
• 有关通过“保留”配置选项部署 HTTP 服务器的信息,请参阅《Windchill 安装和配置指南 - 更新现有安装》中“更新后操作”帮助主题的“更新 HTTP 服务器配置文件”部分。
• 有关通过“保留”配置选项部署 HTTP 服务器的信息,请参阅
更新后操作帮助主题的“更新 HTTP 服务器配置文件”部分。
|
PTC 强烈建议您在安装 Windchill 时配置 HTTP 严格传输安全 (HSTS)。
|
要启用 HSTS for IIS,请按以下说明进行操作:
1. 使用 HTTPS 配置 IIS。
2. 在 IIS 管理器的左侧窗格中,选择节点 <ComputerName/Site>。
3. 在中间窗格中,单击 HTTP Response Headers。
4. 在“操作”面板中单击“添加...”。
5. 在 Add Custom HTTP Response Headers 对话框中输入以下值:
◦ 名称:Strict-Transport-Security
◦ 值:max-age=10368000; includeSubDomains;
6. 重新启动站点。
Windchill 的 HTTP/2 配置
在启用 HTTP/2 之前,请确保已采取相应的网络安全措施来支持 HTTP/2,例如配置 WAF。建议在配置 HTTP/2 之前,向网络安全团队核实自身的特定安全要求或问题。
HTTP/1.1 将继续用作 Windchill 默认方法。HTTP/2 仍在不断发展演变,在不同浏览器和客户端中的应用逐渐成熟。因此,如果 HTTP/2 通信在 Windchill 中进行配置后失败,则 HTTP/2 会自动回退到默认的 HTTP/1.1。
可通过配置 HTTP/2 提升 Windchill 性能。但是,结果可能会因客户端和工作负载而异。
|
HTTP/2 要求启用 SSL。
如果重新配置了 Apache HTTP 服务器,请使用以下步骤再次启用 HTTP/2。
|
启用 HTTP/2 配置
1. 停止 Apache HTTP 服务器。
2. 创建 <Apache_Home>/conf/conf.d 的备份。
3. 在 Windchill shell 中,从 <Apache_Home> 位置运行以下目标。
ant -f config.xml enableHTTP2
运行 ant 脚本后,在以下位置验证更新:
◦ <APACHE_HOME>/conf/httpd.conf 更新为在文件末尾具有以下配置:
Protocols h2 http/1.1
◦ <APACHE_HOME>/conf/conf.d/00-modules-load.conf 更新为在文件末尾具有以下配置:
#Enable the http2 module
<IfModule !http2_module>
LoadModule http2_module modules/mod_http2.so
</IfModule>
4. 启动 Apache HTTP 服务器。
从 Apache 配置中移除 HTTP/2
1. 停止 Apache HTTP 服务器。
2. 在 Windchill shell 中,从 <Apache_Home> 位置运行以下目标。
ant -f config.xml reconfigure
3. 启动 Apache HTTP 服务器。