目 录CONTENT

文章目录

Tomcat 8.5或9上部署SSL证书过程

在水一方
2022-03-01 / 0 评论 / 0 点赞 / 1,109 阅读 / 3,200 字 / 正在检测是否收录...

前言

现在这个博客用的是Nginx的SSL证书,记得在19年当时我配置的证书是tomcat的SSL证书,后来那个服务器到期了就没有在用了,对于当时如何配置的过程忘记一大半。也觉得当时配置完成之后没有写文章记录整个过程是一种遗憾。于是想着再去阿里云上找一下tomcat证书配置过程,找到了这篇文章,突然有种倍感亲切的感觉,于是记录一下

前提条件

  • 已从阿里云SSL证书控制台下载Tomcat服务器证书(包含PFX格式证书文件和TXT格式密码文件)
  • 您申请SSL证书时绑定的域名已完成DNS解析、实现了该域名指向您Tomcat服务器的IP地址。
  • 域名解析设置完成后执行ping 命令,如果返回了您所设置解析的主机IP地址,说明解析成功

环境准备

操作系统:CentOS 7.6 64位
Web服务器:Tomcat 8.5或9

操作步骤

🔥 1 解压已下载的Tomcat证书
🔥 2 将解压后的证书和密码文件拷贝到Tomcat的conf目录下
🔥 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/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端口。

🔥 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://验证证书安装结果。浏览器地址栏显示小锁标识说明证书安装成功。

链接地址:
https://help.aliyun.com/document_detail/102939.html?spm=5176.21213303.J_6704733920.48.557f53c9kvzNgY&scm=20140722.S_help%40%40%E6%96%87%E6%A1%A3%40%40102939._.ID_help%40%40%E6%96%87%E6%A1%A3%40%40102939-RL_linux%E4%B8%8Atomcat%E9%85%8D%E7%BD%AEssl-LOC_main-OR_ser-V_2-P0_6

0

评论区