Tomcat 服务器轻松部署 SSL 证书

Posted CCiT520

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat 服务器轻松部署 SSL 证书相关的知识,希望对你有一定的参考价值。

Tomcat 服务器 SSL 证书安装部署

1准备服务器

  • 购买网上各个产家的云服务器
  • 或者在自己的电脑上装虚拟机
  • 二者皆可,建议选择第一种,因为操作起来相对方便

2安装JDK

2.1上传JDK到Linux的服务器.

上传JDK
卸载open-JDK
# 查看jdk版本
java –version
# 查看安装的jdk信息
rpm -qa | grep java
# 卸载jdk(若自己的服务器上没有可忽略,购买的云服务器一般没有)
rpm -e --nodeps java-1.6.0-openjdk-1.8.0.35-1.13.7.1.el6_6.i686
rpm -e --nodeps java-1.7.0-openjdk-1.8.0.79-2.5.5.4.el6.i686

2.2在Linux服务器上安装JDK

通常将软件安装到/usr/local
直接解压就可以
tar –zxvf  jdk目标路径 

2.3配置JDK的环境变量.

配置环境变量:

① vi /etc/profile

② 在末尾行添加

#配置Java环境变量,注意JAVA_HOME修改成自己的路径,其他默认即可
JAVA_HOME=/usr/local/jdk/jdk1.8.0_71
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

保存退出

③source /etc/profile 使更改的配置立即生效

3在Linux上安装tomcat:

  • Tomcat上传到linux上

  • 将上传的tomcat解压

  • 在tomcat/bin目录下执行 startup.sh

  • 注意防火墙

4选择自己下载的SSL证书进行配置

  • 解压已下载保存到本地的Tomcat证书文件

    • 证书文件XX.jks
    • 密码文件XX.txt
  • 将后缀为XX.jks的文件上传到tomcat安装路径conf文件夹下

  • 配置server.xml

    <Connector port="443"   
        protocol="org.apache.coyote.http11.Http11NioProtocol" 
        SSLEnabled="true"
        scheme="https"
        secure="true"
        keystoreFile="你自己jks文件的路径" 
        keystorePass="你下载的密码,解压的文件夹里就有"   
        clientAuth="false"
        SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
        ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
    

    注意:Tomcat 9强制要求证书别名设置为tomcat。需要将protocol="HTTP/1.1"转换成protocol="org.apache.coyote.http11.Http11NioProtocol"

  • 配置web.xml文件,开启HTTP强制跳转HTTPS,在文件后添加以下内容

    <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>
    
  • 重启Tomcat

    ./shutdown.sh
    ./startup.sh
    
  • 至此,就大功告成了!!!可以通过”https://域名“访问了。

5总结

在4步配置配置server.xml时注意修改redirectPort为443

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />

我就在这里出错了,导致浪费了一些时间。

以上是关于Tomcat 服务器轻松部署 SSL 证书的主要内容,如果未能解决你的问题,请参考以下文章

tomcat部署安全证书文件(阿里云SSL证书)

Https系列之二:https的SSL证书在服务器端的部署,基于tomcat,spring boot

Https系列之二:https的SSL证书在服务器端的部署,基于tomcat,spring boot

Https系列之二:https的SSL证书在服务器端的部署,基于tomcat,spring boot

轻松把玩HttpClient之配置ssl,采用绕过证书验证实现https

基于阿里云服务器Tomcat类型SSL证书安装及配置HTTPS