反馈已提交

网络繁忙

您好,只有最新版本的6.X支持在线编辑修改,如果想创建/编辑文档,请移步到 *最新版本*

配置 SSL 证书实现 HTTPS 访问

  • 文档创建者:Roxy
  • 历史版本:17
  • 最近更新:Suki陈 于 2023-01-11
  • 1. 概述

    启用 HTTPS 协议需要使用有效的 SSL 证书,证书中包含的身份验证信息可帮助用户进行加密通信。在单点登录认证系统中,证书是很重要的一把钥匙,客户端与服务器的交互安全靠的就是证书。

    本文将介绍一种在 Tomcat 服务器中配置 SSL 证书实现 HTTPS 访问的方法。在配置证书前,首先需要申请证书,用户在正式环境中使用的证书需要从证书提供商处购买,证书认证一般都是由 VeriSign、GlobalSign 等国际公认的 CA 机构认证。

    本文由于是演示证书的配置过程,使用的证书是从 JDK 自带的 keytool 工具生成的,不可在正式环境中使用。

    注:在正式环境中不可使用本文 2.1 节生成的证书,必须从证书提供商处申请,否则会出现不安全提醒,导致嵌入第三方平台出现无法访问的情况。

    2. 操作步骤

    2.1 创建证书

    1)首先需要安装 JRE,然后运行 cmd 或者 Windows Powershell,右键以管理员身份运行,单击确定启动命令提示符窗口。输入cd D:\javasoft\java\jre\bin进入 JRE 的 bin 目录下,执行命令创建如下所示:

    注:该 JRE 是配置 Tomcat 时所用的 JRE。

    keytool -genkey -alias tomcat-servers -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore

    创建证书如下图所示:

    34.png

    2)需要迁移到行业标准格式 PKCS12,执行命令:

    keytool -importkeystore -srckeystore server.keystore -destkeystore server.keystore -deststoretype pkcs12

    输入密钥库口令:changeit,如下图所示:

    222

    注1:您的名字与姓氏,这里不能输入 IP 地址,只能输入域名。

    注2:您的名字与姓氏,本例输入的是 roxy,其实这个域名是不存在的,但是这里为了演示所以虚拟了这个域名,所以需要在 hosts 文件里映射一个虚拟域名,设置方式如下图所示:

    1587107790215869.png

    这样在访问 roxy 的时候其实是访问的 127.0.0.1 也就是本机。

    2.2 导出证书

    执行命令如下所示:

    keytool -export -alias tomcat-servers -storepass changeit -file server.cer -keystore server.keystore

    将证书导出,如下图所示:

    25.png

    2.3 将证书导入到 JDK 证书信任库

    执行命令如下所示:

    keytool -import -trustcacerts -alias servers -file server.cer -keystore cacerts -storepass changeit

    系统询问是否信任此证书,回答 y ,如下图所示:

    2.png

    2.4 将证书移动至 Tomcat 安装目录下

    1)进入%JRE_HOME%\bin目录下,将新生成 server.keystore,server.cer,cacerts 复制到 Tomcat 安装目录下%TOMCAT_HOME%,如下图所示:

    121.png

    2)把%JRE_HOME%\bin目录下 cacerts 文件覆盖到 JRE 的 security 目录下%JRE_HOME%\lib\security,如下图所示:

    96.png

    2.5 应用证书到 Web 服务器

    1)配置 server.xml 文件,以管理员身份运行文字编辑器,打开%TOMCAT_HOME%\conf\server.xml。查找 SSL 配置添加证书的地址keystoreFile以及密码keystorePass,如下图所示:

    注:地址可以填绝对路径或者在 Tomcat 中的相对路径。

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"  
               maxThreads="150" SSLEnabled="true" keystoreFile="D:\tomcat\apache-tomcat-8.5.50\server.keystore" keystorePass="changeit"/>

    8.png

    2)重启 Tomcat 服务,访问https://roxy:8443/,如下图所示:

    22.png

    如果看到上面的界面,说明 Tomcat 的 SSL 配置成功。

    3. 注意事项

    3.1 其他说明

    1)如果配置完后启动不了 Tomcat 服务,则说明第 2.5 节配置不正确,仔细检查是否按上述步骤配置。

    2)若访问链接提示「此网站的安全证书存在问题」,是由于使用 Java 生成的证书使用 HTTPS 访问时会提示证书风险,可以申请一个阿里云云盾的免费证书。

    3.2 HTTPS 设置

    Tomcat 配置 SSL 证书实现 HTTPS 访问后,若要保证 Websocket 连接正常,需要配置 HTTPS 设置,如下图所示:

    注1:HTTPS 设置各设置项介绍请参见:常规 的 3.3 节内容。

    注2:5.1.20 及之后版本,新增一个容器 websocket 方案,帮助用户实现快速配置 websocket 端口。

           若「管理系统>系统管理>常规」页面不显示 HTTPS 设置项,说明此方案生效,Websocket 连接已正确配置,无需其他任何手动配置。

    3.png

    附件列表


    主题: 部署集成
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    在线QQ(将在2023.01.03关停):800049425

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭