Tomcat服务器SSL证书部署步骤

来源:互联网 发布:不同的网络用户类型 编辑:程序博客网 时间:2024/06/14 16:25

1. 获取证书

首先需要获取SSL证书及密钥库文件。如果是腾讯云服务器,我们可以申请免费证书,有效时间长达一年哦。(这里就不再详细介绍申请证书的过程了,本文重点在于证书的安装过程)

如果申请证书时有填写私钥密码,下载可获得Tomcat文件夹,其中有密钥库 www.domain.com.jks;
如果没有填写私钥密码,不提供Tomcat证书文件的下载,需要用户手动转换格式生成。

可以通过 Nginx 文件夹内证书文件和私钥文件生成jks格式证书
转换工具:
https://www.trustasia.com/tools/cert-converter.htm
使用工具时注意填写 密钥库密码 ,安装证书时配置文件中需要填写。

2. 证书安装

配置SSL连接器,将www.domain.com.jks文件存放到conf目录下,然后配置同目录下的server.xml文件:

<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"    maxThreads="150" scheme="https" secure="true"    keystoreFile="conf\www.domain.com.jks"    keystorePass="changeit"    clientAuth="false" sslProtocol="TLS" />


注:www.domain.com需要换成你的域名。

配置文件参数说明clientAuth如果设为true,表示Tomcat要求所有的SSL客户出示安全证书,对SSL客户进行身份验证keystoreFile指定keystore文件的存放位置,可以指定绝对路径,也可以指定相对于 (Tomcat安装目录)环境变量的相对路径。如果此项没有设定,默认情况下,Tomcat将从当前操作系统用户的用户目录下读取名为 “.keystore”的文件。keystorePass密钥库密码,指定keystore的密码,默认为changeit。(如果申请证书时有填写私钥密码,密钥库密码即私钥密码)sslProtocol指定套接字(Socket)使用的加密/解密协议,默认值为TLS

3. 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去,也就是将 http 自动转换为 https。所以还需要前往server.xml进行配置:
<Connector port="8080" protocol="HTTP/1.1"    connectionTimeout="20000"    redirectPort="443" />

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

经过以上步骤,服务器就支持https方式访问了。

原创粉丝点击