Tomcat证书部署
最后更新时间:2022-01-11 16:06:09
获取证书
由于Tomcat和Apache类似,所以证书可以通过 Apache 接口配置,使用证书和私钥文件完成配置。
证书安装
1.配置SSL连接器,证书解压至Tomcat安装目录下的conf/ssl目录下,没有ssl目录的创建一个、然后配置同目录(Tomcat安装目录 conf/目录)下的server.xml文件。
2.找到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\niaoyun.com.key"
certificateFile="D:\apache-tomcat-8.5.23\conf\SSL\niaoyun.com.crt"
type="RSA" />
</SSLHostConfig>
</Connector>
3.重启没有报错就表示配置成功,可在浏览器中打开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,重启后便会生效。
如果在操作过程有任何疑问,欢迎在后台提交工单。