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 证书的更多相关文章

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

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

  2. CentOS系统Tomcat 8.5或9部署SSL证书

    本文档介绍了CentOS系统下Tomcat 8.5或9部署SSL证书的操作说明. 环境准备 操作系统:CentOS 7.6 64位 Web服务器:Tomcat 8.5或9 前提条件 已从阿里云SSL证 ...

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

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

  4. Resin 4.0 部署SSL证书

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

  5. linux的tomcat服务器上部署项目的方法

    在tomcat服务器上部署项目的前提,是我们已经准备好了tomcat服务器.在CentOs环境下部署JavaWeb环境,部署tomcat服务器在前面的文章中已经总结过了,可以参考以前文章. 一  to ...

  6. 一个tomcat服务器上部署多个Web项目,不同域名访问

    [参考]一个tomcat服务器上部署多个项目,不同域名访问 我们一个服务器只按装了一个tomcat服务器,现在有多个项目或者多个域名访问,下面来进行配置 在这里我们只需要修改conf下的server. ...

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

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

  8. weblogic 服务器部署SSL证书

    一.证书介绍 1.需要的证书 生产需要的证数如下: 即客户提供的证数: L1Croot.crt,L1Cchain.crt,entrustcert.crt,server,jks 证书清单: L1Croo ...

  9. Https:创建部署SSL证书进行双向认证

    一.前言 建立客户端与服务器的Https的连接需要证书进行双向验证后,才可访问.   二.证书类型 不同数字证书部署在服务器上后,用户浏览器访问网站时,展示如下: 1.无证书时 显示不安全标识. 2. ...

随机推荐

  1. 记一次 .NET医疗布草API程序 内存暴涨分析

    一:背景 1. 讲故事 我在年前写过一篇关于CPU爆高的分析文章 再记一次 应用服务器 CPU 暴高事故分析 ,当时是给同济做项目升级,看过那篇文章的朋友应该知道,最后的结论是运维人员错误的将 IIS ...

  2. MySQL中的注释符号有三种

    ①#... ②-- ... ③/*...*/ 注意事项: 其中...表示注释的文本内容 ★ 在使用-- ...注释内容时,需要在--和注释内容之间加一个空格符(如空格.tab.换行符等)

  3. java面试一日一题:讲下redo log

    问题:请讲下redo log的作用 分析:mysql中有很多日志,例,binlog undo log redo log,要弄清楚这些日志的作用,就要了解这些日志出现的背景及要解决的问题? 回答要点: ...

  4. SpringCloud(五)GateWay网关

    Config 分布式配置中心 概述 微服务意味着要将单体应用中的业务拆分成个个子服务,每个服务的粒度相对较小因此系统中会出现大量的服务 由于每个服务都需要必要的配置信息才能运行,所以一套集中式的.动态 ...

  5. Python中的Pexpect模块的简单使用

    Pexpect 是一个用来启动子程序并对其进行自动控制的 Python 模块. Pexpect 可以用来和像 ssh.ftp.passwd.telnet 等命令行程序进行自动交互.以下所有代码都是在K ...

  6. 9.PHP文件处理

    PHP文件系统 (当成是扩展C++来看就行了,几乎一样): 读取整个文件readfile() .file(). file_get_contents() <?php    readfile('fi ...

  7. mimikatz的使用

    mimikatz mimikatz是法国人Gentil Kiwi编写的一款Windows平台下的神器,它具备很多功能,其中最主要的功能是直接从 lsass.exe 进程里获取处于active状态账号的 ...

  8. Portswigger web security academy:Cross-site request forgery (CSRF)

    Portswigger web security academy:Cross-site request forgery (CSRF) 目录 Portswigger web security acade ...

  9. 【spring源码系列】之【BeanDefinition】

    1. BeanDefinition简介 前面讲的解析bean标签,本质就是将bean的信息封装成BeanDefinition对象的过程,最后放入容器beanDefinitionMap中.spring ...

  10. Day007 计算器

    计算器 public static void main(String[] args) { double[] num={0,1}; String oprater="a"; doubl ...