Tomcat 8.5或Tomcat 9安装部署SSL证书教程

博主:xiaoweixiaowei 2022-12-02 条评论

SSL证书是网站实现https加密访问的关键,它通常是部署在Web服务器上。本教程主要介绍下如何在CentOS系统下Tomcat 8.5或9安装部署SSL证书。

1、我们可根据实际需要购买DV、OV或EV SSL证书,然后申请证书,待CA机构颁发证书后,下载Tomcat服务器证书(包含PFX格式证书文件和TXT格式密码文件)。

我们申请SSL证书时绑定的域名已完成DNS解析、实现了该域名指向Tomcat服务器的IP地址。
域名解析设置完成后执行ping <yourdomainName>命令,如果返回了我们所设置解析的主机IP地址,说明解析成功。

域名解析

2、解压已下载的Tomcat证书。将解压后的证书和密码文件拷贝到Tomcat的conf目录下。如果需要安装JKS格式证书,可使用以下命令将PFX格式证书转化成JKS格式。

keytool -importkeystore -srckeystore domain_name.pfx -destkeystore domain_name.jks -srcstoretype PKCS12 -deststoretype JKS

3、打开Tomcat/conf/server.xml,在server.xml文件中找到以下参数并进行修改。

<Connector port=”8080″ protocol=”HTTP/1.1″
connectionTimeout=”20000″
redirectPort=”8443″ />

#找到以上参数,去掉<!- – 和 – ->这对注释符并修改为如下参数,对HTTPS默认端口进行配置:
<Connector port=”80″ protocol=”HTTP/1.1″ #将Connector port修改为80。
connectionTimeout=”20000″
redirectPort=”443″ /> #将redirectPort修改为SSL默认端口443,让HTTPS请求转发到443端口。

<Connector port=”8443″
protocol=”org.apache.coyote.http11.Http11NioProtocol”
maxThreads=”150″
SSLEnabled=”true”>
<SSLHostConfig>
<Certificate certificateKeystoreFile=”cert/keystore.pfx”
certificateKeystorePassword=”XXXXXXX”
certificateKeystoreType=”PKCS12″ />

#找到以上参数,去掉<!- – 和 – ->这对注释符并修改为如下参数:
<Connector port=”443″ #将Tomcat中默认的HTTPS端口Connector port 8443修改为443。8443端口不可通过域名直接访问、需要在域名后加上端口号;443端口是HTTPS的默认端口,可通过域名直接访问,无需在域名后加端口号。
protocol=”org.apache.coyote.http11.Http11NioProtocol” #server.xml文件中Connector port有两种运行模式(NIO和APR),请选择NIO模式(也就是protocol=”org.apache.coyote.http11.Http11NioProtocol”)这一段进行配置。
maxThreads=”150″
SSLEnabled=”true”>
<SSLHostConfig>
<Certificate certificateKeystoreFile=”/usr/local/tomcat/cert/证书域名.pfx” #此处certificateKeystoreFile代表证书文件的路径,请用您证书的路径+文件名替换证书域名.pfx,例如:certificateKeystoreFile=”/usr/local/tomcat/cert/example.com.pfx”
certificateKeystorePassword=”证书密码” #此处certificateKeystorePassword为SSL证书的密码,请用您证书密码文件pfx-password.txt中的密码替换,例如:certificateKeystorePassword=”bMNML1Df”
certificateKeystoreType=”PKCS12″ /> #证书类型为PFX格式时,certificateKeystoreType修改为PKCS12。
</SSLHostConfig>

<Connector port=”8009″ protocol=”AJP/1.3″ redirectPort=”8443″ />

#找到以上参数,去掉<!- – 和 – ->这对注释符并修改为如下参数:
<Connector port=”8009″ protocol=”AJP/1.3″ redirectPort=”443″ /> #将redirectPort修改为443,让HTTPS请求转发到443端口。

4、保存server.xml文件配置。

5、(可选步骤):在web.xml文件最底部添加以下内容,实现HTTP自动跳转为HTTPS。

<security-constraint>
<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>

6、执行./shutdown.sh和./startup.sh命令重启Tomcat服务。

Tomcat服务重启成功后,我们可在浏览器中输入SSL证书绑定的域名https://<YourDomainName>,比如本站(https://www.idcspy.com/),验证证书安装结果。浏览器地址栏显示小锁标识说明该SSL证书安装成功。

The End

发布于:2022-12-02,除非注明,否则均为 主机评测原创文章,转载请注明出处。