38
Tomcat 证书部署

获取证书


由于Tomcat和Apache类似,所以证书可以通过 Apache 接口配置,使用证书和私钥文件完成配置


证书安装


配置SSL连接器,证书解压至Tomcat安装目录下的conf/ssl目录下,没有ssl目录的创建一个、然后配置同目录(Tomcat安装目录 conf/目录)下的server.xml文件。


找到8443端口这一段,去掉8,替换certificateKeyFile,certificateFile 的值。删除另一个参数certificateChainFile ,配置好的内容如下,然后重启Tomcat。


<Connector port="443" protocol="org.apache.coyote.http11.Http11AprProtocol"

maxThreads="150" SSLEnabled="true" >

<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />

<SSLHostConfig>

<Certificate certificateKeyFile="D:\apache-tomcat-8.5.23\conf\SSL\10isp.com.key"

certificateFile="D:\apache-tomcat-8.5.23\conf\SSL\10isp.com.crt"

type="RSA" />

</SSLHostConfig>

</Connector>

重启没有报错就表示配置成功了,可在浏览器中打开https链接测试。


http自动跳转https的安全配置


到 conf目录 下的 web.xml。在 </welcome-file-list> 后面,</web-app>,也就是倒数第二段里,加上这样一段


<login-config>

<!-- Authorization setting for SSL -->

<auth-method>CLIENT-CERT</auth-method>

<realm-name>Client Cert Users-only Area</realm-name>

</login-config>

<security-constraint>

<!-- Authorization setting for SSL -->

<web-resource-collection>

<web-resource-name>SSL</web-resource-name>

<url-pattern>/*</url-pattern>

</web-resource-collection>

<user-data-constraint>

<transport-guarantee>CONFIDENTIAL</transport-guarantee>

</user-data-constraint>

</security-constraint>

这步目的是让非ssl的connector跳转到ssl的connector去。所以还需要前往 server.xml 进行配置:


<Connector port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="443" />

redirectPort改成ssl的connector的端口443,重启后便会生效。


这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!