在此页:
目标用户:
CAST AI 管理员
概要:本页说明如何修改Tomcat应用服务器,以便在与以下CAST web应用交互时启用https协议:
- CAST AIC 门户
- 健康仪表盘
- 工程仪表盘
- 旧版CAST工程仪表盘/CAST发现门户
简介
当安装“开箱即用”时,Apache Tomcat应用服务器将被配置为在端口8080上使用“http”协议,如下所示,摘自%CATALINA_HOME%\conf\server.xml文件:
<!-- A "Connector" represents an endpoint by which requests are received and responses are returned. Documentation at : Java HTTP Connector: /docs/config/http.html (blocking & non-blocking) Java AJP Connector: /docs/config/ajp.html APR (HTTP/AJP) Connector: /docs/apr.html Define a non-SSL HTTP/1.1 Connector on port 8080 --> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <!-- A "Connector" using the shared thread pool--> <!-- <Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> -->
如果组织在与CAST AIC门户、健康仪表盘和工程仪表盘交互时需要在端口443(或另一个端口)上使用“https”协议,那么需要完成Apache Tomcat安装的各种步骤。可以通过以下apache tomcat官方文档了解有关所需更改的更多信息:https://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html
SSL 证书
CAST强烈建议在为安全https访问配置Apache Tomcat时使用受信任的CA(证书颁发机构)SSL证书。可以使用自签名SSL证书,但是不建议使用这种证书,因为在使用具有这种类型证书的CAST AIP web应用时,可能会出现不可预知的结果。
高级安全配置选项
如果已经为安全https访问配置了Apache Tomcat,那么CAST强烈建议还配置以下选项以进一步保护安装。
“安全”属性
如果打算从Apache Tomcat应用服务器同时提供http和https,则不应该添加“secure”属性。
CAST建议将“secure”属性添加到SSL连接器并将其设置为“true”——该属性强制Apache Tomcat指定请求是否使用安全通道(如https)发出。为此:
- 用文本编辑器编辑 %CATALINA_HOME%\conf\server.xml文件
- 在文件中找到现有的SSL连接器
- 对于JSSE SSL实现,连接器看起来是这样的:
<Connector port="8443" SSLEnabled="true" scheme="https" clientAuth="false" SSLProtocol="TSL" protocol="HTTP/1.1" keystoreFile="path/to/keystore" keystorePass="passwordOfKeystore"/>
- 对于APR SSL实现,连接器看起来是这样的:
<Connector port="8443" SSLEnabled="true" scheme="https" clientAuth="false" SSLProtocol="SSLv3+TLSv1" protocol="HTTP/1.1" SSLCertificateFile="path/to/server.crt" SSLCertificateKeyFile="path/to/server.pem"/>
- 现在需要将secure="true"属性添加到SSL连接器中,如下所示:
- 对于JSSE SSL实现
<Connector port="8443" secure="true" SSLEnabled="true" scheme="https" clientAuth="false" SSLProtocol="TSL" protocol="HTTP/1.1" keystoreFile="path/to/keystore" keystorePass="passwordOfKeystore"/>
- 对于APR SSL实现
<Connector port="8443" secure="true" SSLEnabled="true" scheme="https" clientAuth="false" SSLProtocol="SSLv3+TLSv1" protocol="HTTP/1.1" SSLCertificateFile="path/to/server.crt" SSLCertificateKeyFile="path/to/server.pem"/>
在进行任何更改之后,保存%CATALINA_HOME%\conf\server.xml文件,然后重新启动应用服务器以便考虑到更改。
"useHttpOnly" 属性
CAST建议将“useHttpOnly”属性添加到环境并将其设置为“true”——该属性强制在会话cookie上设置HttpOnly标志,以防止客户端脚本访问会话ID。为此:
- 用文本编辑器编辑 %CATALINA_HOME%\conf\context.xml 文件
- 发现<context>元素如下所示:
<Context> <!-- Default set of monitored resources --> <WatchedResource>WEB-INF/web.xml</WatchedResource> <!-- Uncomment this to disable session persistence across Tomcat restarts --> <!-- <Manager pathname="" /> --> <!-- Uncomment this to enable Comet connection tacking (provides events on session expiration as well as webapp lifecycle) --> <!-- <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" /> --> </Context>
- 将useHttpOnly属性添加到开头的<context>标记,并将其设置为"true":
<Context useHttpOnly="true"> <!-- Default set of monitored resources --> <WatchedResource>WEB-INF/web.xml</WatchedResource> <!-- Uncomment this to disable session persistence across Tomcat restarts --> <!-- <Manager pathname="" /> --> <!-- Uncomment this to enable Comet connection tacking (provides events on session expiration as well as webapp lifecycle) --> <!-- <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" /> --> </Context>
在进行任何更改之后,保存%CATALINA_HOME%\conf\context.xml文件。然后重新启动应用服务器以便考虑到更改。
注意:
- 可以在这里找到关于“useHttpOnly”属性的更多信息: https://tomcat.apache.org/tomcat-7.0-doc/config/context.html
- 添加useHttpOnly属性将为在Apache Tomcat中运行的所有web应用激活。