当前位置: 首页 > news >正文

Linux之免费证书工具certbot安装和使用

一、cerbot简介

  Certbot是一个免费的开源软件工具,用于在手动管理的网站上自动使用Let’s Encrypt证书以启用HTTPS。要想让自己的网站启用https协议,需要一个由CA(数字证书认证机构)颁发的,能够让各个浏览器都能承认的SSL安全证书。有很多网站可以申请到免费的SSL证书,比如阿里云,腾讯云等。一般免费证书SSL网站只可以申请二级域名ssl证书,而且有数量限制,有效期也是有限制,比如阿里云是20张有效期3个月二级域名ssl证书,腾讯云是20张有效期1年二级域名ssl证书。Let’s Encrypt证书机构则支持申请域名通配符ssl证书,这样我们一个域名有解析多个二级域名的时候我们只需要申请一次即可。只是证书一次有效期只有3个月,我们需要到期手动续期或者通过certbot结合定时任务自动续期。博文实验环境如下:

  • 操作系统:centos7.6
  • certbot版本:1.11.0
  • nginx版本:1.25.5

二、安装步骤及使用简介

1、安装epel

  安装certbot之前需要先安装epel扩展源,通过epel扩展源才可以yum安装certbot命令软件包。

[root@s76 ~]# yum install -y epel-release

2、yum安装certbot

  通过yum安装,当前安装的版本是1.11.0。

[root@s76 yum.repos.d]# yum install -y certbot

Installed:
certbot.noarch 0:1.11.0-2.el7

3、验证certbot命令

  查看certbot命令版本和命令存储路径。

[root@s76 yum.repos.d]# certbot --version
certbot 1.11.0
[root@s76 yum.repos.d]# which certbot
/usr/bin/certbot

4、查看命令帮助

  使用–help参数获取命令帮助。命令语法格式如下:certbot [SUBCOMMAND] [options] [-d DOMAIN] [-d DOMAIN] …

[root@s76 yum.repos.d]# certbot --help

5、申请ssl证书

  执行certbot命令申请证书,如果是第一次使用的邮箱则会提示是否接受邮箱注册,输入y后继续。

[root@s76 ~]# certbot certonly --server https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns --email xxx@qq.com --agree-tos -d *.sun-site.com
在这里插入图片描述

6、添加域名解析记录用于验证

  根据提示登录域名注册商添加一条TXT地址解析记录。添加完成后等待1分钟以上等域名解析生效。
在这里插入图片描述

7、证书申请成功

  看到Congratulations提示就说明免费证书申请成功了。证书和key存储到/etc/letsencrypt/live/目录下,真实目录是/etc/letsencrypt/archive,会生成一个根据域名名称生成的目录,目录下包括cert.pem 、chain.pem、fullchain.pem、privkey.pem四个文件。
在这里插入图片描述

8、打包下载ssl证书

  将生成的证书及key文件压缩打包,并下载到本地。当然如果是在部署服务器上申请的证书直接拷贝到指定目录即可。

[root@s76 archive]# zip -r sun-site.com.zip sun-site.com/
adding: sun-site.com/ (stored 0%)
adding: sun-site.com/cert1.pem (deflated 27%)
adding: sun-site.com/privkey1.pem (deflated 23%)
adding: sun-site.com/chain1.pem (deflated 25%)
adding: sun-site.com/fullchain1.pem (deflated 31%)
[root@s76 archive]# sz sun-site.com.zip

9、部署验证

  将证书上传到指定目录下,修改nginx配置文件,指定新的证书文件,然后重新加载nginx配置文件。

root@jj100:/usr/local/nginx/conf# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
root@jj100:/usr/local/nginx/conf# nginx -s reload
在这里插入图片描述

10、证书查验

  访问域名网站,我们可以看到新的证书已经使用,证书颁发机构是Let’s Encrypt,证书有效期是到2024年9月8日。
在这里插入图片描述

11、证书续期

  使用certbot renew命令可以自动续期证书,–dry-run是进行测试验证,这里如提示证书有效期还比较长,证书有效期小于30天才可以申请续期,自动跳过续期任务。certbot的操作都会在/var/log/letsencrypt/letsencrypt.log留档日志。在使用过程中如果有问题我们可以查看该日志文件,获取详细信息。

[root@s76 certbot-letencrypt-wildcardcertificates-alydns-au]# certbot renew --dry-run
Saving debug log to /var/log/letsencrypt/letsencrypt.log
在这里插入图片描述

12、关于自动续期

  关于证书自动续期有通过安装python2-certbox-nginx插件实现的,有通过shell脚本certbot-letencrypt-wildcardcertificates-alydns-au+定时任务实现的。博主还这里还没有配置成功。后续另外出博文进行实验验证。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 设计模式探索:适配器模式
  • 关于ppmlhdfe和possion两个命令回归显示观测值不同
  • 掌握计算机网络基础:从零开始的指南
  • 基于conda包的环境创建、激活、管理与删除
  • 鸿蒙语言基础类库:【@ohos.util.HashMap (非线性容器HashMap)】
  • mes系统在新材料行业中的应用价值
  • 谷粒商城-个人笔记(集群部署篇三)
  • 定义变量和声明变量、定义类和声明类
  • 哈喽GPT-4o,程序员如何通过GPT-4o提高办公效率
  • Score matching
  • [终端安全]-7 后量子密码算法
  • 力扣-排序算法
  • uniapp js 用dom创建form表单 并提交
  • 【机器学习】主成分分析(PCA):数据降维的艺术
  • C语言 | Leetcode C语言题解之第226题翻转二叉树
  • 5、React组件事件详解
  • express.js的介绍及使用
  • Flex布局到底解决了什么问题
  • IndexedDB
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • Java精华积累:初学者都应该搞懂的问题
  • Lsb图片隐写
  • Making An Indicator With Pure CSS
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • PHP 的 SAPI 是个什么东西
  • underscore源码剖析之整体架构
  • Unix命令
  • vuex 笔记整理
  • 两列自适应布局方案整理
  • 区块链技术特点之去中心化特性
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 详解移动APP与web APP的区别
  • 移动端解决方案学习记录
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • # windows 运行框输入mrt提示错误:Windows 找不到文件‘mrt‘。请确定文件名是否正确后,再试一次
  • $nextTick的使用场景介绍
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (C语言)逆序输出字符串
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (不用互三)AI绘画:科技赋能艺术的崭新时代
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (十八)SpringBoot之发送QQ邮件
  • (四)Linux Shell编程——输入输出重定向
  • (未解决)macOS matplotlib 中文是方框
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (自适应手机端)行业协会机构网站模板
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .net core使用EPPlus设置Excel的页眉和页脚
  • .Net Winform开发笔记(一)
  • .NET WPF 抖动动画
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)