使用Certbot解决https证书自动更新的问题

  除了各个第三方博客平台之外,我还一直保有一个自建的博客网站https://zxs.io/,还有几个其他的域名用做小工具之类的,之前一直使用阿里云免费https证书,一次申请可以用一年,但现在阿里云免费证书缩短到3个月了,而我又有好几个域名,导致我每隔几周就必须重新申请配置一次https证书,很麻烦。后来发现了Certbot这个免费开源软件,居然可以免费并且自动定期更新证书,太方便了。

  在介绍Certbot之前,必须先介绍下 Let’s Encrypt。 Let’s Encrypt是一个免费的、自动化的、开放的证书颁发机构(Certificate Authority,简称 CA),由 Internet Security Research Group(ISRG)于 2016 年推出,它的诞生之初就是为了推进整个互联网的https化,所以它提供了免费的https证书。 另外Let’s Encrypt 设计了一套自动化协议称为 ACME(Automatic Certificate Management Environment),基于这套协议,你可以实现证书的自动化申请、安装和续期。 而Cerbot就是实现了ACME协议最知名的软件。

  Certbot是由 Electronic Frontier Foundation (EFF) 创建的,并且是一个开源项目。Certbot 主要用于自动获取和续订由 Let’s Encrypt 颁发的免费 SSL/TLS 证书。接下来就以我的博客为例,教下大家如何使用Certbot的方法,主要使用方法还是来源于官网Certbot 。

  首选在这个页面https://certbot.eff.org/instructions选择你使用的Web容器和操作系统版本,比如我使用的是Nginx和Ubuntu20,选择后下面就会列出详细的操作步骤。
在这里插入图片描述
  接下来仅需要三步即可完成Sertbot的配置和使用,就是安装、配置、校验。安装方法官网推荐了snapd这个包管理软件,但可能你也和我一样没有安装snapd,所以首先需要安装下snapd,之后按官网命令安装Certbot即可。但我实测使用apt也是可以正常安装的。 接下来就是配置。

sudo certbot --nginx 

  直接执行上面的命令,certbot就会自动给配置好nginx,我初次使用的时候还有点疑惑,就怎么简单吗?实际上确实就这么简单,这一步中certbot会解析你的nginx配置,然后申请相应域名的证书,并修改nginx配置文件将证书配置写入,然后还会触发nginx的reload让证书生效,这时候你的网站https就已经在使用新的https证书了,打开chrome浏览器你就可以看到类似的证书声明。
在这里插入图片描述
  最后就是使用Certbot自带的校验功能,验证证书自动更新的功能是否正常了。直接执行下面这条指令。

sudo certbot renew --dry-run

  你在终端里看到类似这样的输出就说明已经配置成功了。

Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/xindoo.xyz.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Account registered.
Simulating renewal of an existing certificate for xindoo.xyz and 11 more domains

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations, all simulated renewals succeeded:
  /etc/letsencrypt/live/xindoo.xyz/fullchain.pem (success)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  最后总结下,Certbot安装和配置还是相当简单的,而且自动更新的功能真是省了我的大麻烦,如果你自己有个网站,并且需要配置https(建议所有网站都配置),真的很推荐使用Certbot这个软件。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

云上攻防-云产品篇堡垒机场景JumpServer绿盟SASTeleport麒麟齐治

知识点 1、云产品-堡垒机-产品介绍&攻击事件 2、云产品-堡垒机-安全漏洞&影响产品 章节点: 云场景攻防:公有云,私有云,混合云,虚拟化集群,云桌面等 云厂商攻防:阿里云,腾讯…

【网络工程设计】交换网络技术

📝本文介绍 本文主要介绍使用GNS3和VMware来构件一个简单的交换网络 👋作者简介:一个正在积极探索的本科生 📱联系方式:943641266(QQ) 🚪Github地址:https://github.com/sankexilianhua &#x…

【MySQL篇】 MySQL基础学习

文章目录 前言基础数据类型DDL数据库操作查询数据库创建数据库删除数据库使用数据库 DDL表操作创建表查询表修改表删除 DML-增删改添加数据更改数据删除数据 DQL-查询基础查询条件查询聚合函数分组查询排序查询分页查询编写顺序 DML-用户及权限用户管理权限控制 函数字符串函数…

修复网络适配器不工作的14种方法,总有一种适合你

网络适配器是将设备连接到internet或其他计算机的关键硬件组件。如果设备发生故障,你可能会面临连接速度慢的问题,在最坏的情况下,互联网将完全停止工作。 这可能是由于损坏的驱动程序、冲突的设备、配置错误的设置,甚至是硬件故障!但也有可能出现互联网问题,使你认为网…

22.网络游戏逆向分析与漏洞攻防-网络通信数据包分析工具-加载配置文件到分析工具界面

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 如果看不懂、不知道现在做的什么,那就跟着做完看效果 内容参考于:易道云信息技术研究院VIP课 上一个内容:21.配置数据保存…

【java+vue】前后端项目架构详细流程

前端 1.创建vue项目 需要工具:node、Vscode 1.在磁盘上创建文件(web),并移到Vscode的工作区 2.进入该文件的终端 3.检测node和vue是否正常,若不显示版本号,则自行下载 4.生成vue 1.执行命令:…

JavaScript中的Set和Map:理解与使用

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

2.JavaWebMySql基础

导语: 一、数据库基本概念 1.什么是数据库 2.关于MySql数据库 二、MySQL的安装与卸载 安装步骤: 卸载步骤: 三、MySQL服务操作 1.服务启动和关闭: 2.登录和退出MySQL: 3.服务自启动: 4.命令行登…

小程序Taro框架 自定义底部Tabbar,处理自定义Tab栏切换卡顿、闪烁

最终效果 最近在用Taro框架开发一个小程序,有一个自定义底部Tabbar的需求,最终效果如下 起步 这页是我第一次接触自定义小程序底部Tabbar,所有第一选择必然是相看官方文档:微信小程序自定义 Tabbar | Taro 文档 (如果…

ping多个IP的工具

Ping Tool 项目地址 python开发的IP搜索小工具 ping一个网段所有IP,显示结果查看某个ip地址开放监听的端口配置可保存

IDEA编译安卓源码TVBox

因为电视x受限,无法观看电视直播,为了春晚不受影响,于是网络一顿搜索,试过多个APP,偶尔找到这款开源的TVBox,寒假在家,随便拿来练练手,学习安卓APP的编写,此文做以记录&a…

手拉手RocketMQ基础

消息中间件的对比 消息中间件 ActiveMQ RabbitMQ RocketMQ kafka 开发语言 java erlang java scala 单击吞吐量 万级 万级 10万级 10万级 时效性 ms us ms ms 可用性 高(主从架构) 高(主从架构) 非常高(主从架构) 非常高(主从架构) 消息中间件: activ…

分享软件项目实施方案模板

本项目在实施过程中将遵守做到以下几个方面: 与建设单位共同完成整个系统软件、网络等设计,负责系统的开发、测试、调试、人员培训、系统的试运行和交付,并保证系统质量。负责系统的维护、应用软件的升级和更新。提出对系统硬件设备的相关技术要求。在项…

JDBC的学习记录

JDBC就是使用java语言操作关系型数据库的一套API。 JDBC(Java Database Connectivity)是Java语言中用于连接和操作数据库的一种标准接口。它提供了一组方法和类,使Java程序能够与各种不同类型的关系型数据库进行交互。 JDBC的主要功能包括建…

PythonWeb

例题一 from flask import Flask app Flask(__name__) app.route(/index) def index():return f<h1>这是首页&#xff01;</h1> def second():return f<h1>这是第二页&#xff01;</h1> if __name__ __name__:app.run(host"0.0.0.0",port…

图腾柱PFC工作原理:一张图

视屏链接&#xff1a; PFC工作原理

SpringCloud--Sentinel使用

一、快速开始 Sentinel 的使用可以分为两个部分&#xff1a; 核心库&#xff08;Java 客户端&#xff09;&#xff1a;不依赖任何框架/库&#xff0c;能够运行于 Java 8 及以上的版本的运行时环境&#xff0c;同时对 Dubbo / Spring Cloud 等框架也有较好的支持。控制台&…

OpenFeign相关配置(超时,重试,HttpClient5,日志)

1.超时控制 默认OpenFeign客户端等待60秒钟&#xff0c;但是服务端处理超过规定时间会导致Feign客户端返回报错。 yml文件对应配置: connectTimeout&#xff1a;连接超时时间 readTimeout:请求处理超时时间 1.yml配置 server:port: 80spring:application:name: cloud-consu…

F - Earn to Advance

解题思路 由于对于一点不知道后面得花费&#xff0c;所以无法决策当前是否要停下赚钱或要停下多久考虑一点&#xff0c;可以由其左上方的所有点到达所以从往前推&#xff0c;得出到的总花费然后考虑从之后不赚钱直接到最终所用次数和剩余钱若存在&#xff0c;在后面点赚钱更优…

面试经典150题 -- 图的广度优先遍历 (总结)

总的链接 面试经典 150 题 - 学习计划 - 力扣&#xff08;LeetCode&#xff09;全球极客挚爱的技术成长平台 909 . 蛇梯棋 链接 : . - 力扣&#xff08;LeetCode&#xff09; 题意 &#xff1a; 直接bfs就好了 &#xff0c; 题意难以理解 : class Solution:def snakesA…