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

环境准备

操作系统:CentOS 7.6 64位

Web服务器:Tomcat 8.5或9

前提条件

  • 已从阿里云SSL证书服务控制台下载Tomcat服务器证书(包含PFX格式证书文件和TXT格式密码文件)。
  • 您申请SSL证书时绑定的域名已完成DNS解析、实现了该域名指向您Tomcat服务器的IP地址。

    域名解析设置完成后执行ping www.yourdomain.com命令,如果返回了您所设置解析的主机IP地址,说明解析成功。

操作步骤

  1. 解压Tomcat证书。

    说明 每次下载证书都会产生新的密码,该密码仅匹配本次下载的证书。如果需要更新证书文件,同时也要更新匹配的密码。
  2. 将下载的证书和密码文件拷贝到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文件中找到以下参数并进行修改。
    1 <Connector port="8080" protocol="HTTP/1.1"
    2 connectionTimeout="20000"
    3 redirectPort="8443" />
    4
    5 #找到以上参数,去掉<!- - 和 - ->这对注释符并修改为如下参数,对HTTPS默认端口进行配置:
    6 <Connector port="80" protocol="HTTP/1.1" #将Connector port修改为80。
    7 connectionTimeout="20000"
    8 redirectPort="443" /> #将redirectPort修改为SSL默认端口443,让HTTPS请求转发到443端口。
     1 <Connector port="8443"
    2 protocol="org.apache.coyote.http11.Http11NioProtocol"
    3 maxThreads="150"
    4 SSLEnabled="true">
    5 <SSLHostConfig>
    6 <Certificate certificateKeystoreFile="cert/keystore.pfx"
    7 certificateKeystorePassword="XXXXXXX"
    8 certificateKeystoreType="PKCS12" />
    9
    10 #找到以上参数,去掉<!- - 和 - ->这对注释符并修改为如下参数:
    11 <Connector port="443" #将Tomcat中默认的HTTPS端口Connector port 8443修改为443。8443端口不可通过域名直接访问、需要在域名后加上端口号;443端口是HTTPS的默认端口,可通过域名直接访问,无需在域名后加端口号。
    12 protocol="org.apache.coyote.http11.Http11NioProtocol" #server.xml文件中Connector port有两种运行模式(NIO和APR),请选择NIO模式(也就是protocol="org.apache.coyote.http11.Http11NioProtocol")这一段进行配置。
    13 maxThreads="150"
    14 SSLEnabled="true">
    15 <SSLHostConfig>
    16 <Certificate certificateKeystoreFile="/usr/local/tomcat/cert/证书域名.pfx" #此处certificateKeystoreFile代表证书文件的路径,请用您证书的路径+文件名替换证书域名.pfx,例如:certificateKeystoreFile="/usr/local/tomcat/cert/abc.com.pfx"
    17 certificateKeystorePassword="证书密码" #此处certificateKeystorePassword为SSL证书的密码,请用您证书密码文件pfx-password.txt中的密码替换,例如:certificateKeystorePassword="bMNML1Df"
    18 certificateKeystoreType="PKCS12" /> #证书类型为PFX格式时,certificateKeystoreType修改为PKCS12。
    19 </SSLHostConfig>
    20 </Connector>
    1 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    2 #找到以上参数,去掉<!- - 和 - ->这对注释符并修改为如下参数:
    3 <Connector port="8009" protocol="AJP/1.3" redirectPort="443" /> #将redirectPort修改为443,让HTTPS请求转发到443端口。
  4. 保存server.xml文件配置。
  5. (可选步骤)在web.xml文件最底部添加以下内容,实现HTTP自动跳转为HTTPS。
    1 <security-constraint>
    2 <web-resource-collection >
    3 <web-resource-name >SSL</web-resource-name>
    4 <url-pattern>/*</url-pattern>
    5 </web-resource-collection>
    6 <user-data-constraint>
    7 <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    8 </user-data-constraint>
    9 </security-constraint>
  6. 重启Tomcat服务。
    1. 在Tomcat下的bin目录中执行./shutdown.sh关闭Tomcat服务。
    2. 在Tomcat下的bin目录中执行./startup.sh开启Tomcat服务。

后续操作

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

CentOS系统Tomcat 8.5或9部署SSL证书的更多相关文章

  1. Tomcat部署SSL证书过程中遇到的问题

    在CentOS7中Tomcat部署SSL证书时遇到的问题 1.配置servlet.xml 配置tomcat/conf/server.xml 加入以下代码 <Connector port=&quo ...

  2. 在IIS下部署SSL证书实现HTTPS

    在IIS下部署SSL证书实现HTTPS   HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版.谷歌已经制定了一项长远的计划,它的最终目标是将所有通过HTTP协议呈现的网页标为“不安全” ...

  3. Resin 4.0 部署SSL证书

    前言 Resin目前最新的版本还是4.0 (4.0.49),使用Java EE6,在Resin上部署证书,一般有两种方式,首先我们推荐采用Openssl方式,不仅因为Openssl模式下的速度更快,而 ...

  4. IIS部署SSL证书后提示不可信的解决方案

    IIS部署SSL证书后提示不可信的解决方案   本帖最后由 wosign-support3 于 2015-7-17 17:18 编辑 第一步:打开mmc——点击文件——添加删除管理单元——证书——计算 ...

  5. 5-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(配置MQTT的SSL证书,验证安全通信)

    4-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(为域名申请SSl证书) 前面的准备工作终于完了 复制这两个证书 放到云端MQTT的这个位置,其实放哪里都可以 ...

  6. Ubuntu系统Apache 2部署SSL证书

    几天前用Apache 2部署了一个静态网页,但通过域名访问时Google提示“不安全”,经了解,原来是缺少证书. 什么是SSL证书? SSL 是指安全套接字层,简而言之,它是一项标准技术,可确保互联网 ...

  7. Tomcat 服务器轻松部署 SSL 证书

    Tomcat 服务器 SSL 证书安装部署 1准备服务器 购买网上各个产家的云服务器 或者在自己的电脑上装虚拟机 二者皆可,建议选择第一种,因为操作起来相对方便 2安装JDK 2.1上传JDK到Lin ...

  8. 阿里云部署SSL证书详解

    http://mp.weixin.qq.com/s/NV7Zad4DVEgzG2GCHYJVLw 查找中间证书 为了确保兼容到所有浏览器,我们必须在阿里云上部署中间证书,如果不部署证书,虽然安装过程可 ...

  9. IBM LOTUS DOMINO 9 部署SSL证书

    前言 随着SHA1算法在2016年12月31日以后,将被强制淘汰,所有新的SSL证书都必须支持SHA256算法,所以我们必须将IBM Domino Server升级到9.0以上才可以支持SHA256算 ...

随机推荐

  1. php 23种设计模型 - 代理模式

    代理模式(Proxy) 在代理模式(Proxy Pattern)中,一个类代表另一个类的功能.这种类型的设计模式属于结构型模式. 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口. 介 ...

  2. laravel 返回值

    先理解几个概念: StdClass 对象 => 基础的对象 Eloquent 模型对象 (Model 对象) => 和模型相关的类对象 Eloquent 集合 => 可以简单理解为对 ...

  3. C#处理医学影像(三):基于漫水边界自动选取病灶范围的实现思路

    开发背景: 医生在实际使用PACS软件观察病灶时,经常会测量不规则病灶的周长和面积,使用画笔工具勾勒比较耗时且准度欠佳, 或者在标记人工智能训练样本时少则几百张,多则几千张,为极大减少耗时和极大提高工 ...

  4. bash shell 快捷键

     Bash Shell 快捷键: Ctrl + a - 跳到行首      Ctrl + e - 跳到行尾     Ctrl + k - 从光标处删除到行尾     Ctrl + l - 清屏,类似  ...

  5. Ubuntu20.04服务器+Anaconda上创建Python3.6虚拟环境并

    镜像下载.域名解析.时间同步请点击 阿里巴巴开源镜像站 前言 由于服务器已安装Anaconda,包含的Python版本为3.8,为使用3.6版本同时避免和其他人互相影响,我选择创建虚拟环境,并在其中安 ...

  6. 5月31日 python学习总结 Python中应该使用%还是format来格式化字符串?

    %还是format Python中格式化字符串目前有两种阵营:%和format,我们应该选择哪种呢? 自从Python2.6引入了format这个格式化字符串的方法之后,我认为%还是format这根本 ...

  7. YCCMS 3.3 CSRF漏洞--代码执行

    一. 启动环境 1.双击运行桌面phpstudy.exe软件 2.点击启动按钮,启动服务器环境 二.代码审计 1.双击启动桌面Seay源代码审计系统软件 2.点击新建项目按钮,弹出对画框中选择(C:\ ...

  8. CVE-2017-11882(Office远程代码执行)

    测试环境:win7+kali+office 2007 xp+kali+office 2003 win7 ip:10.10.1.144 xp ip: 10.10.1.126 kali ip 10.10. ...

  9. 数据类型 Java day7

    数据类型 数据类型包含:引用数据类型和基本数据类型 引用数据类型:出去基本数据类型,其他的类型,如String 基本数据类型:总共分四大类有八种 四大类:整数,浮点数.字符.布尔 一.整数包含以下 数 ...

  10. LinuxCNC中RS-274/NGC解析器的编译和使用

    原文 http://blog.sina.com.cn/s/blog_a2a6dd380102vrai.html LinuxCNC是一个著名的开源数控软件,目前最新发行版本是:LinuxCNC 2.6. ...