如何使用 Let's Encrypt SSL 保护 Tomcat

2023-11-01

Let’s Encrypt 是一家证书颁发机构,提供用于 Web 应用程序的有效 SSL 证书。它免费为每个人提供证书,但有一些限制。

安全第一应该成为任何组织保护您辛勤工作的代码免受黑客攻击的经验法则。当通过公共网络传输应用程序数据时,它变得更加重要。针对这种情况,我们需要使用TLS来实现端到端的加密。

本教程帮助您颁发新的 Let's Encrypt SSL 证书并使用 Tomcat Web 服务器对其进行配置。

先决条件

本教程不涉及 Tomcat 安装。我们假设您的系统上已经运行了 Tomcat 服务器。你可以拜访Tomcat安装教程.

第 1 步 – 安装 Certbot

Certbot 是一个命令行实用程序,用于创建和管理 Let’s Encrypt SSL 证书。这适用于大多数操作系统。

基于 Debian 的用户可以通过运行以下命令来安装 certbot。其他操作系统用户可以从以下位置安装它here.

sudo apt install certbot 

接下来,为您的域创建 SSL 证书。确保域已从 DNS 指向 tomcat 服务器。在本教程中,我使用 tomcat.tecadmin.net 子域。

sudo certbot certonly --standalone -d tomcat.tecadmin.net 

证书颁发后,您可以在以下位置看到所有相关文件:

sudo ls /etc/letsencrypt/live/tomcat.tecadmin.net/ 

Output
cert.pem chain.pem fullchain.pem privkey.pem README

这些是 SSL 证书设置所需的所有文件。

步骤 2 – 使用 Let’s Encrypt SSL 配置 Tomcat

接下来,配置 Tomcat 服务器以侦听安全协议。默认情况下,Tomcat 使用 8443 侦听 SSL/TLS 请求。

将 SSL 证书和私钥文件复制到 /opt/tomcat/conf 目录下:

cd /etc/letsencrypt/live/tomcat.tecadmin.net 
sudo cp {cert,chain,privkey}.pem /opt/tomcat/conf/ 

然后编辑conf/服务器.xml文件位于 Tomcat 主目录下。在我的例子中,Tomcat 安装在 /opt/tomcat 下,因此使用以下命令编辑配置文件。

sudo nano /opt/tomcat/conf/server.xml 

Remove <!-- and -->取消注释配置文件中的以下部分。还要添加带有证书文件的证书部分。配置将如下所示:


    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true">
        <SSLHostConfig>
            <Certificate certificateFile="conf/cert.pem"
                 certificateKeyFile="conf/privkey.pem"
                 certificateChainFile="conf/chain.pem" />
        </SSLHostConfig>
    </Connector>
  

按 CTRL+O 保存更改,按 CTRL+X 退出编辑器。

现在,重新启动 Tomcat 服务以应用更改。

sudo systemctl restart tomcat 

就是这样。您已使用 Tomcat 配置 Let's Encrypt SSL。

下一步是验证设置。

步骤 3 – 验证 Tomcat SSL 证书

默认带有 SSL 的 tomcat 侦听 8443 端口。使用具有 8443 端口的域通过安全套接字层访问 Tomcat。

  • https://tomcat.tecadmin.net:8443

就是这样。您已成功使用 Tomcat 配置 Let’s Encrypt SSL。

第 4 步 – 更新 SSL 证书

默认 Let’s Encrypt SSL 证书将在 90 天后过期。您可以在到期后 30 天内随时轻松刷新您的 SSL 证书。

键入以下命令刷新 SSL 证书。

certbot certonly --standalone -d tomcat.tecadmin.net 

一旦续订成功。将新生成的证书文件复制到Tomcat的conf目录中。

cd /etc/letsencrypt/live/tomcat.tecadmin.net 
cp {cert,chain,privkey}.pem /opt/tomcat/conf 

重新启动 Tomcat 服务以应用更改。

sudo systemctl restart tomcat 

结论

在本教程中,您学习了如何使用 Tomcat Web 服务器设置 Let's Encrypt SSL 证书。此外,还为您提供了续订 SSL 证书的步骤。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Let's Encrypt SSL 保护 Tomcat 的相关文章

随机推荐

  • 前端难点,坑点总结

    问题总结 前言 登录验证码图片显示 post下载文件 js调用ie浏览器的打印功能打印网页上内容 移动端适配不同的屏幕 ie9浏览器异步上传文件 ie浏览器 input标签会出现ie自带叉号 使用flex布局 文字超出部分变省略号 移动端1
  • 初级测试开发工程师应该学些什么

    作为一个毕业半年的我来说 换了两份工作 现在在游戏公司做测试开发工程师 也就不到两个月吧 之前在学校学了C C 数据结构 算法设计等 但也只是考试过了 还是菜鸟一枚 然后来到公司 有做一些兼容性测试之类的 前一个星期给我一个星期做一个网页爬
  • sbt使用教程

    sbt使用教程 sbt 配置 sbt 单项目构建 sbt 多项目构建 sbt 配置定义 sbt 任务定义 sbt 作用域 sbt 插件 总结 项目地址 https gitee com jyq 18792721831 studyspark g
  • UBUNTU 18.04 安装CUDA 10.1 (解决循环登入的问题)

    我之前安装CUDA 会导致重启后卡在登入页面 查询了很多资料后 终于安装成功了 以下记录了我的安装过程 0 安装gcc和make sudo apt get install gcc sudo apt get install make 1 禁用
  • Oracle12报错:ERROR at line 1: ORA-01109: database not open

    描述 想要修改用户密码的时候发现报错 ERROR at line 1 ORA 01109 database not open 解决 发现当前容器的模式为MOUNTED 将其open即可 SQL gt select con id name o
  • IDEA中使用Debug教程

    Debug用来追踪代码的运行流程 通常在程序运行过程中出现异常 启用Debug模式可以分析定位异常发生的位置 以及在运行过程中参数的变化 通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码 一 Debug开篇 首先看下
  • 【Linux专栏】Linux 常用文件管理命令(常用命令大全)

    个人博客 https blog csdn net Newin2020 spm 1011 2415 3001 5343 专栏定位 为 0 基础刚入门 Linux 的小伙伴整理的详细笔记 也欢迎大佬们一起交流 专栏地址 https blog c
  • 运算符重载、模板、标准模板库STL

    C day4 运算符重载 当我们要对自己定义的数据类型进行运算的时候 编译器识别不了 所以没法进行 这时就需要我们自己来写对应的运算符计算的规则 运算符对应的操作数有几个 重载完之后操作数的个数是不能发生变化 重载的方式 1 成员函数进行重
  • 失业在家做什么赚钱好?失业在家怎么赚钱?

    在目前经济形势下 由于诸多客观因素的影响 导致很多人失业在家 无事可做 这样就会导致一个家庭陷入生活困境 面临这种情况 一个人失业在家 可以做什么赚钱呢 1 直播 现在直播经济那么火 很多人也开始各种直播 最省事的就是直播睡觉 当然 也可以
  • js日期的格式化

    function formatDate cellValue 传入毫秒数 if cellValue null cellValue return var date new Date cellValue var year date getFull
  • MyEclipse安装JRebel插件实现热部署

    为什么要使用JRebel 之前用MyEclipse做Java Web开发的时候 有一个很头疼的问题 每次修改后台代码之后 都需要重新将项目部署到tomcat 然后启动tomcat重新运行项目才能查看修改后的结果 浪费不少时间 现在 给MyE
  • MySQL触发器怎么写?

    废话不多说 这篇文章主要讲 从0 到写两个简单的触发器 3分钟学会 工具 Navicat Premium 黄色的三叶草图标 触发器1 BEGIN IF new state in 2 3 then INSERT INTO userservic
  • Django学习 day1

    目录 Django简介 HTTP原理 Django简介 Python语言里最流行 强大的Web框架 同时亦是全球第5大WEB框架 可快速构建稳定强大的WEB项目 大大提高开发效率 很多知名项目都是基于Django开发 如Disqus Pin
  • pytorch使用早停策略

    文章目录 早停的目的与流程 早停策略 pytorch使用示例 参考网站 早停的目的与流程 目的 防止模型过拟合 由于深度学习模型可以无限迭代下去 因此希望在即将过拟合时 或训练效果微乎其微时停止训练 流程如下 将数据集切分为三部分 训练数据
  • 反向投影法

    反向投影法是用已知图像的某些特征来突出其它图像中此类特征的一种方法 基于直方图 主要步骤如下 1 统计已知图像某个特征的色度直方图 通常用色度 饱和度 Hue Saturation 来统计二维直方图 并把直方图表示为概率的形式 2 选取测试
  • gitlab安装,跑配置报错NoMethodError: undefined method 'zero?' for nil:NilClass

    安装gitlab 报错 There was an error running gitlab ctl reconfigure ruby block authorize Grafana with Gitlab monitoring grafan
  • 【AI】即使AI 时代,程序员也无需焦虑

    欢迎来到本文 个人简介 陈童学哦 目前学习C C 算法 Python Java等方向 一个正在慢慢前行的普通人 系列专栏 陈童学的日记 其他专栏 C STL 感兴趣的小伙伴可以看看 希望各位 点赞 收藏 留言 万物从心起 心动则万物动 Ch
  • 如何在 Ubuntu 20.04 上安装 IntelliJ IDEA

    智能IDEA是一种流行的 Java 应用程序集成开发环境 它由 JetBrains 开发 IntelliJ IDEA 由于其易于完成代码和检查 因此对初学者来说一定更友好 基本上 它还为许多其他语言 例如 SQL JPQL HTML Jav
  • 如何在 Ubuntu 20.04 中创建仅 SFTP 用户

    SFTP SSH 文件传输协议 是一种安全文件协议 用于通过加密的 SSH 传输会话访问 管理和传输文件 安全第一是系统管理员的经验法则 有时 您可能需要向开发或其他团队提供 FTP SFTP 访问权限 以访问远程服务器上的文件 这将为您提
  • 如何使用 Let's Encrypt SSL 保护 Tomcat

    Let s Encrypt 是一家证书颁发机构 提供用于 Web 应用程序的有效 SSL 证书 它免费为每个人提供证书 但有一些限制 安全第一应该成为任何组织保护您辛勤工作的代码免受黑客攻击的经验法则 当通过公共网络传输应用程序数据时 它变