CentOS系统Tomcat 8.5/9部署SSL证书,强制https!

📖摘要


今天分享下 —— CentOS系统Tomcat 8.5/9部署SSL证书的一些基本知识,欢迎关注!


🌂前提条件

  • 开启服务器443端口(https默认端口)
    阿里云控制台=》云计算基础服务=》云服务器ECS=》网络和安全=》安全组,没有安全组的创建一个安全组,有的直接选择相应安全组,点击配置规则=》添加安全组规则(把80端口和443端口添加进安全组,授权对象填0.0.0.0/0)
  • 已从阿里云SSL证书服务控制台下载Tomcat服务器证书(包含PFX格式证书文件和TXT格式密码文件)。
  • 您申请SSL证书时绑定的域名已完成DNS解析、实现了该域名指向您Tomcat服务器的IP地址。
  • 域名解析设置完成后执行ping www.yourdomain.com命令,如果返回了您所设置解析的主机IP地址,说明解析成功。 在这里插入图片描述

🚀操作步骤

  1. 解压Tomcat证书。

    说明 每次下载证书都会产生新的密码,该密码仅匹配本次下载的证书。如果需要更新证书文件,同时也要更新匹配的密码。

  2. 在Tomcat安装目录下新建cert目录,将下载的证书和密码文件拷贝到cert目录下。
    在这里插入图片描述
    说明 如果需要安装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端口。

```java

```bash
<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端口。
  1. 保存server.xml文件配置。
  2. (可选步骤)配置web.xml文件,开启HTTP强制跳转HTTPS。
    在文件 </welcome-file-list> 后添加以下内容:
<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>
  1. 重启Tomcat服务。

    • 在Tomcat下的bin目录中执行./shutdown.sh关闭Tomcat服务。关闭Tomcat服务
      在这里插入图片描述
    • 在Tomcat下的bin目录中执行./startup.sh开启Tomcat服务。在这里插入图片描述

⛳后续操作

Tomcat服务重启成功后,您可在浏览器中输入您SSL证书绑定的域名https://www.YourDomainName.com验证证书安装结果。浏览器地址栏显示绿色的小锁标识说明证书安装成功。


🎉最后

  • 更多参考精彩博文请看这里:《陈永佳的博客》

  • 喜欢博主的小伙伴可以加个关注、点个赞哦,持续更新嘿嘿!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈永佳

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值