Tomcat证书部署

SSL证书

Tomcat证书部署

2024-02-28 22:45







获取证书

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

证书安装

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

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

  1. <Connector port="443" protocol="org.apache.coyote.http11.Http11AprProtocol"
  2. maxThreads="150" SSLEnabled="true" >
  3. <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
  4. <SSLHostConfig>
  5. <Certificate certificateKeyFile="D:\apache-tomcat-8.5.23\conf\SSL\niaoyun.com.key"
  6. certificateFile="D:\apache-tomcat-8.5.23\conf\SSL\niaoyun.com.crt"
  7. type="RSA" />
  8. </SSLHostConfig>
  9. </Connector>

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

http自动跳转https的安全配置

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

  1. <login-config>
  2. <!-- Authorization setting for SSL -->
  3. <auth-method>CLIENT-CERT</auth-method>
  4. <realm-name>Client Cert Users-only Area</realm-name>
  5. </login-config>
  6. <security-constraint>
  7. <!-- Authorization setting for SSL -->
  8. <web-resource-collection>
  9. <web-resource-name>SSL</web-resource-name>
  10. <url-pattern>/*</url-pattern>
  11. </web-resource-collection>
  12. <user-data-constraint>
  13. <transport-guarantee>CONFIDENTIAL</transport-guarantee>
  14. </user-data-constraint>
  15. </security-constraint>

这步目的是让非ssl的connector跳转到ssl的connector去。

所以还需要前往 server.xml 进行配置:

  1. <Connector port="8080" protocol="HTTP/1.1"
  2. connectionTimeout="20000"
  3. redirectPort="443" />

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