Ubuntu 22.04.4 LTS + certbot 做自动续签SSL证书(2024-11-14亲测)

 

certbot 做自动续签SSL证书

 

为了为您的域名 csbst.xyz 设置 SSL 证书并启用 HTTPS,您可以使用 Certbot。Certbot 是一个易于使用的客户端,它可以自动获取和安装 SSL/TLS 证书,以便使您的网站支持 HTTPS。

以下是在您的服务器上使用 Certbot 为 csbst.xyz 域名设置 SSL 证书的步骤:

  1. 确保您的服务器上已经安装了 Certbot 和 Nginx。如果没有安装,您可以使用以下命令安装它们:
sudo apt update
sudo apt install certbot python3-certbot-nginx
  1. 使用 Certbot 获取 SSL 证书并自动配置 Nginx:
sudo certbot --nginx -d csbst.xyz

Certbot 将会与 Nginx 集成,并自动配置您的网站以使用 HTTPS。在运行上述命令时,Certbot 可能会提示您选择一个或多个域名,并询问您是否希望将所有流量重定向到 HTTPS。根据您的选择,Certbot 会相应地更新 Nginx 配置文件。

  1. Certbot 安装证书后,您可以通过访问 https://csbst.xyz 来验证您的网站是否已启用 HTTPS。

  2. Certbot 会设置一个定时任务,定期检查您的证书是否需要更新。您可以通过运行以下命令来查看 Certbot 的定时任务:

sudo systemctl status certbot.timer
  1. 如果您需要手动更新证书,可以使用以下命令:
sudo certbot renew --dry-run

该命令会测试证书更新过程,但不会实际更新证书。如果您确定需要更新证书,可以去掉 --dry-run 选项。

请注意,上述步骤假设您已经拥有 csbst.xyz 域名的 DNS 记录,并且您的服务器已经配置了 Nginx 来托管该域名。如果您在执行上述步骤时遇到任何问题,请提供详细信息,以便我能够提供更具体的帮助。

 

自动续签详解

 

根据您提供的定时器文件 /lib/systemd/system/certbot.timer 和服务文件 /lib/systemd/system/certbot.service,我们可以看到 Certbot 被配置为每天运行两次,分别在午夜和中午 12 点。每次运行时,Certbot 会尝试更新所有已安装的证书。

定时器文件 /lib/systemd/system/certbot.timer 的内容如下:

[Unit]
Description=Run certbot twice daily[Timer]
OnCalendar=*-*-* 00,12:00:00
RandomizedDelaySec=43200
Persistent=true[Install]
WantedBy=timers.target

这个定时器会在每天的午夜和中午 12 点触发,RandomizedDelaySec=43200 表示在每次触发的时间上加上一个随机延迟,最多延迟 12 小时(43200 秒)。Persistent=true 表示即使系统时间改变,定时器也会保持其计划。

服务文件 /lib/systemd/system/certbot.service 的内容如下:

[Unit]
Description=Certbot
Documentation=file:///usr/share/doc/python-certbot-doc/html/index.html
Documentation=https://certbot.eff.org/docs[Service]
Type=oneshot
ExecStart=/usr/bin/certbot -q renew
PrivateTmp=true

这个服务文件定义了 Certbot 服务的行为。Type=oneshot 表示服务只会运行一次,然后立即停止。ExecStart=/usr/bin/certbot -q renew 是服务启动时执行的命令,它会以静默模式运行 Certbot 的 renew 命令,尝试更新所有证书。PrivateTmp=true 表示为服务创建一个私有的临时文件系统,以增强安全性。

要管理这个定时器和服务,您可以使用以下命令:

  • 启动定时器:

    sudo systemctl start certbot.timer
    
  • 停止定时器:

    sudo systemctl stop certbot.timer
    
  • 启动服务:

    sudo systemctl start certbot.service
    
  • 停止服务:

    sudo systemctl stop certbot.service
    
  • 检查定时器的状态:

    sudo systemctl status certbot.timer
    
  • 检查服务的状态:

    sudo systemctl status certbot.service
    
  • 启用定时器,以便在系统启动时自动启动:

    sudo systemctl enable certbot.timer
    
  • 禁用定时器,以便在系统启动时不自动启动:

    sudo systemctl disable certbot.timer
    

确保定时器和服务已经启用,并且按照预期运行,这样您的 SSL 证书就可以定期更新,确保您的网站始终使用最新的证书。

 

 

要查看 Certbot 自动续签的日志,您需要查看 Certbot 的日志文件。Certbot 通常会将日志信息记录到 /var/log/letsencrypt/ 目录下的文件中。您可以使用 lesscattail 等命令来查看这些日志文件。

以下是一些查看 Certbot 日志的命令:

  1. 使用 less 命令查看最新的日志:
sudo less /var/log/letsencrypt/letsencrypt.log

less 命令允许您在终端中向上或向下滚动日志文件,并使用键盘快捷键进行导航。

  1. 使用 cat 命令查看整个日志文件:
sudo cat /var/log/letsencrypt/letsencrypt.log

cat 命令会一次性显示整个日志文件的内容,这可能不适合查看非常大的日志文件。

  1. 使用 tail 命令查看日志文件的最后几行:
sudo tail -n 100 /var/log/letsencrypt/letsencrypt.log

上面的命令会显示日志文件的最后 100 行。您可以根据需要调整 -n 参数后面的数字来查看更多或更少的行。

如果您需要查看特定日期或时间段的日志,可以使用 grep 命令结合 date 命令来过滤日志。例如,查看今天生成的日志:

sudo grep "$(date +'%Y-%m-%d')" /var/log/letsencrypt/letsencrypt.log

这将显示包含当前日期的日志行。

请根据您的具体需求选择合适的命令来查看 Certbot 的自动续签日志。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/886121.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows VSCode .NET CORE WebAPI Debug配置

1.安装C#插件 全名C# for Visual Studio Code,选择微软的 2. 安装C# Dev Kit插件 全名C# Dev Kit for Visual Studio Code,同样是选择微软的 3.安装Debugger for Unity 4.配置launch.json 文件 {"version": "0.2.0","config…

git分支合并到远程后如何回滚合并

在GitLab中删除远程仓库的某个特定commit并不是一个直接的操作,因为Git版本控制系统的设计是为了保持历史记录的完整性和不可变性。然而,你可以通过以下步骤来实现删除某个特定的commit: 回退到目标commit之前的状态: 首先&#x…

C++——视频问题总结

1、C和C的区别 CC面向过程对象注重程序的实现逻辑程序的整体设计内容C语言采用了一种有序的编程方法——结构化编程:将一个大型程序分解为一个个小型的,易于编写的模块,所有模块有序调动,形成了一个程序的完整的运行链C将问题分解…

如何为 SeaTunnel 配置 MySQL 用户并授予权限

在使用 SeaTunnel 进行数据处理与传输时,保障数据源的连接与权限配置尤为重要。本文将逐步解析如何在 MySQL 中创建用于 SeaTunnel 访问的用户,并授予其适当的权限,以满足不同操作需求。 1. 创建用户 在 MySQL 中,创建用户是配置…

Linux——GPIO输入输出裸机实验

学习了正点原子Linux环境下的GPIO的输入输出的裸机实验学习,现在进行一下小结: 启动文件start.S的编写 .global _start .global _bss_start _bss_start:.word __bss_start.global _bss_end _bss_end:.word __bss_end_start:/*设置处理器进入SVC模式*/m…

Cyberchef配合Wireshark提取并解析TCP/FTP流量数据包中的文件

前一篇文章中讲述了如何使用cyberchef提取HTTP/TLS数据包中的文件,详见《Cyberchef配合Wireshark提取并解析HTTP/TLS流量数据包中的文件》,链接这里,本文讲述下如何使用cyberchef提取FTP/TCP数据包中的文件。 FTP 是最为常见的文件传输协议,和HTTP协议不同的是FTP协议传输…

深度学习和图像处理

看来你对深度学习和图像处理很感兴趣呢,让我来一一解答你的疑惑吧。 深度学习高纬度特征 首先,我猜你是想问“深度学习中的高维特征”吧。在深度学习中,随着网络层数的加深,网络的感受野逐渐变大,语义表达能力也随之增…

51c大模型~合集42

我自己的原文哦~ https://blog.51cto.com/whaosoft/11859244 #猎户座 「草莓」即将上线,OpenAI新旗舰大模型曝光,代号「猎户座」 ChatGPT 要进化了? 本月初,OpenAI 创始人、CEO 山姆・奥特曼突然在 X 上发了一张照片&#xff0…

Object类中的方法

Object类提供了如下几个常用方法&#xff1a; Class<?> getClass()&#xff1a;返回该对象的运行时类。boolean equals(Object obj)&#xff1a;判断指定对象与该对象是否相等。int hashCode()&#xff1a;返回该对象的hashCode值。在默认情况下&#xff0c;Object类的…

【NOIP提高组】潜伏者

【NOIP提高组】潜伏者 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; R国和S国正陷入战火之中&#xff0c;双方都互派间谍&#xff0c;潜入对方内部&#xff0c;伺机行动。 历尽艰险后&#xff0c;潜伏于 S 国的R 国间谍小C 终于摸清了S 国…

深入理解 `@TableId(type = IdType.AUTO)`:使用方法及其与其他主键生成策略的区别

在MyBatis-Plus&#xff08;简称MP&#xff09;中&#xff0c;TableId 注解是用来标注实体类中主键的字段的&#xff0c;而 type IdType.AUTO 是一个常见的配置选项&#xff0c;它指定了主键的生成策略。在实际开发中&#xff0c;如何配置主键生成策略对数据库的性能和稳定性有…

安培环路定理

回忆 静电场中的回路定理&#xff1a;→静电场是保守场 安培环路定理 1、圆形回路包围无限长载流直导线 &#xff08;1&#xff09;回路逆时针 &#xff08;2&#xff09;回路顺时针 规定&#xff1a; 回路正向由右手螺旋定则判断&#xff08;根据回路绕行方向&#xff0c;…

Locally Linear Embedding (LLE)

Locally Linear Embedding (LLE) Locally Linear Embedding (LLE) 是一种非线性降维算法&#xff0c;通常用于高维数据的流形学习。其核心思想是&#xff1a;假设数据点在局部是线性结构&#xff0c;通过保留每个数据点的局部线性结构关系&#xff0c;将数据嵌入到低维空间中。…

wsl配置ubuntu22.04,并配置docker

wsl配置ubuntu22.04&#xff0c;并配置docker 文章目录 wsl配置ubuntu22.04&#xff0c;并配置docker一、在Windows上安装Linux子系统前提条件安装步骤 二、wsl安装系统到其他盘①查看wsl运行状态&#xff0c;将其保持在关闭状态②导出当前Linux的镜像③注销之前的系统并检查④…

「QT」文件类 之 QDir 目录类

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「QT」QT5程序设计&#x1f4da;全部专栏「Win」Windows程序设计「IDE」集成开发环境「UG/NX」BlockUI集合「C/C」C/C程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」NX定制…

expo5.2运行web报错Cannot find module ‘react‘

修改app.json中的web output 配置为 ‘single’ 可以解决 expo run web 这个错误问题 "web": {"bundler": "metro","output": "single","favicon": "./assets/images/favicon.png"},相关链接&#xff1…

Xcode 16 pod init失败的解决方案

目录 前言 一、错误重现 二、解决方案 1.右击项目修改文件展示方式 2.修改.xcodeproj文件 3.参考文档 前言 我们使用Xcode创建新项目之后&#xff0c;执行pod init报错。我们看一下如何解决。 一、错误重现 RuntimeError - PBXGroup attempted to initialize an object …

Mysql-DDL语句

文章目录 DDL 语句DDL 操作库创建数据库修改数据库使用数据库 DDL 操作表Mysql 的数据类型创建表修改表结构 &#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;Mysql专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年11月14日11点30分 DDL 语…

fastapi与tortoise配合对比django多数据源使用

在项目我们经常需要&#xff0c;多个数据库之间的数据交叉使用。在django中&#xff0c;可以在settings 文件中配置&#xff0c;比较简单&#xff0c;但是在fastapi 中如何解决呢 django 中使用方法&#xff1a; settings.py DATABASES {default: {ENGINE: django.db.backen…

css三角制作(二十课)

代码&#xff1a; <style>/* 边框原理 */.box1 {width: 0;height: 0;border-top: 100px solid pink;border-bottom: 100px solid blue;border-left: 100px solid yellow;border-right: 100px solid greenyellow;}/* 三角制作 */.box2 {width: 0;height: 0;border: 100px …