在 Apache Tomcat 服务器上启用 HTTPS 或 SSL 正确方式的分步指南 – 端口 8443

已发表: 2021-04-03

我开始使用 Apache Tomcat 已经快 12 年了。 我相信当我做我的第一个低年级项目时,它是在 Tomcat 版本1.x上。 现在它已经在8.0版本上。 在我的日常工作生活中,我大部分时间都在与 Tomcat Server 保持联系,没有它就活不下去。

在 Crunchify 上,我们已经发表了近 40 篇关于Apache Tomcat的文章。 在大部分教程中,我在端口 8080 上运行服务器,这是server.xml文件中配置的默认端口。

在本教程中,我们将详细介绍how to enable HTTPS/SSL on Apache Tomcat Server的所有步骤。

让我们开始吧:

第1步。 创建密钥库

keytool :我们将使用keytool命令生成安全密钥——这是密钥和证书管理工具。

命令:

文件将在文件夹/Users/Shared下创建。

我正在使用 Mac OS X,因此如果您在 Windows 上,请相应地替换您的路径。 我使用了密码123456

为 Apache Tomcat HTTPS 设置生成 crunchify.keystore - Crunchify 提示

第2步。 创建自签名证书签名请求

输入密码:123456

步骤 3。 让我们首先检查一下 Tomcat 是否通过 HTTP 在端口 8080 上运行。

使用命令Start tomcat 服务器:< startup.sh >/bin/startup.sh。

确保您位于正确的 Tomcat 路径位置。

点击 URL: http://localhost:8080以确保服务器已启动并正在运行。

确保 Apache Tomcat 正在运行

第四步。 现在通过 HTTPS 检查端口 8443 上的 tomcat 实例。

  • 现在检查端口 8443(HTTPS/SSL URL)。
  • 点击网址: https://localhost:8443
  • 您应该会看到错误消息。 页面根本不应该加载。

没有适当的证书,Apache Tomcat 服务器启动失败

步骤 5。 更新 /conf/server.xml 文件

由于我们在上面生成了密钥库和证书签名请求,我们需要告诉 tomcat 使用它。

  • 打开位于<tomcat_home>/conf/文件夹的server.xml文件并修改设置。
  • 在我们的例子中,它是/Users/Shared/apache-tomcat-9.0.30/conf文件夹。

将以下部分直接添加到 server.xml 文件中:

  • 这里的密码是我在Step-1中使用的123456
  • 协议:HTTP/1.1

在 server.xml 文件中为 Apache Tomcat 启用 HTTPS

保存存档。 接下来我们将停止并启动 Tomcat 服务器。

步骤 6。 停止和启动 Apache Tomcat。

  • bash-3.2$ /Users/Shared/apache-tomcat-9.0.30/bin/shutdown.sh
  • bash-3.2$ /Users/Shared/apache-tomcat-9.0.30/bin/startup.sh

步骤 7。 检查 HTTPS url 和认证:https://localhost:8443

现在再次点击 HTTPS 安全 URL 以检查您的页面是否已成功加载。

铬合金:

  • 默认情况下, Chrome Blocks all insecure HTTPS站点。
  • 启用Chrome flag以加载从 localhost 加载的资源的无效证书
    1. 转到 Chrome
    2. 打开标签
    3. 类型: chrome://flags/#allow-insecure-localhost
    4. 从下拉列表中启用标志
    5. 重新启动 Chrome

Google Chrome 允许不安全本地主机 - Apache Tomcat

Safari 和 Mozilla 火狐:

  • Accept invalid certificate error并访问站点。

您应该看到 Apache Tomcat 页面通过 HTTPS 在端口 8443 上加载

通过 HTTPS 在端口 8443 上运行的 Apache tomcat

你都准备好了。 你注意到red padlock了吗? 别担心。 我们没有从 Verisign 或 Comodo 购买 SSL 证书。

在生产环境中,您可能看不到那个红十字标志。

单击浏览器中的证书,我们的默认自签名证书应valid for 90天。

查看我们在步骤 1 中创建的 Crunchify 证书

奖励点:

如何使用命令keytool检查您的cert content

结果: