CentOS系统Tomcat8.5或9部署SSL证书

发布时间:2021/3/30 8:50:56 打印 字号:

本文档介绍了CentOS系统下Tomcat 8.5或9部署SSL证书的操作说明。

环境准备

操作系统:CentOS 7.6 64位

Web服务器:Tomcat 8.5或9

操作步骤

登录邮箱或者Gworg控制中心下载后解压,里面IIS文件夹和Tomcat两种,Tomcat支持两种格式的证书JKS和pfx。

certificateKeystoreType="PKCS12" />  #使用IIS文件夹的pfx证书

certificateKeystoreType="JKS" /> #使用Tomcat文件夹的jks证书

SSL证书安装密码位于:service.txt文件


将下载的证书和密码文件拷贝到Tomcat的conf目录下。

打开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/abc.com.pfx"

             certificateKeystorePassword="证书密码"   #此处certificateKeystorePassword为SSL证书的密码,请用您证书密码文件pfx-password.txt中的密码替换,例如:certificateKeystorePassword="bMNML1Df"

             certificateKeystoreType="PKCS12" />   #证书类型为PFX格式时,certificateKeystoreType修改为PKCS12。        </SSLHostConfig>

    </Connector>


<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />#找到以上参数,去掉<!- - 和 - ->这对注释符并修改为如下参数:

<Connector port="8009" protocol="AJP/1.3" redirectPort="443" />  #将redirectPort修改为443,让HTTPS请求转发到443端口。

保存server.xml文件配置。


(可选步骤)在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>


最后重启Tomcat服务。

在Tomcat下的bin目录中执行./shutdown.sh关闭Tomcat服务。关闭Tomcat服务

在Tomcat下的bin目录中执行./startup.sh开启Tomcat服务。