使用certbot 生成 Let‘s Encrypt 泛域名ssl证书

2023-11-05

一、更新证书报错

  • 问题描述
    更新SSL证书时报 too many failed authorizations 错误

  • 原因分析

当前要更新的域名一个小时触发失败次数过多,需要过段时间在验证。

注:官方提示:https://letsencrypt.org/docs/rate-limits/

其实最主要还是我们使用certbot申请的免费证书太多了,建议申请泛域名证书

二、Let’s Encrypt 泛域名ssl证书申请

我们这里依然使用的是Certbot来签发。

官网文档:https://certbot.eff.org/docs/using.html

  • 直接使用官网首页的安装方法是无法使用最新的Let’s Encrypt的v2 API,这里加参数
--server https://acme-v02.api.letsencrypt.org/directory
  • 现在的命令是:
certbot certonly --standalone -d *.example.com --server https://acme-v02.api.letsencrypt.org/directory
  • 结果提示:
Client with the currently selected authenticator does not support any combination of challenges that will satisfy the CA. You may need to use an authenticator plugin that can do challenges over DNS.
  • 原因是没有DNS验证,需要添加参数:
--preferred-challenges dns
  • 扒官方文档后,发现泛域名需要dns-01验证。文档说明了改验证方法可自动验证,但需要安装插件,且DNS服务商为下列服务商:
cloudflare
cloudxns
digitalocean
dnsimple
dnsmadeeasy
google
luadns
nsone
rfc2136
route53
  • 我用的免费解析,没有API来自动验证,故添加参数:
--manual
  • 总结一下,最后的命令为:
certbot certonly --preferred-challenges dns --manual  -d *.example.com --server https://acme-v02.api.letsencrypt.org/directory

签发证书时提示添加TXT记录

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator manual, Installer None
Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org
Requesting a certificate for *.aattec.com
Performing the following challenges:
dns-01 challenge for aattec.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please deploy a DNS TXT record under the name
_acme-challenge.aattec.com with the following value:

1q3iA_qE3i7ytfNU-xSs0x4mhfij4TXuoXXlxbrQDMQ

Before continuing, verify the record is deployed.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue

在域名管理界面解析一下TXT记录,大概等待五分钟生效后,回车即可

这样等待签发完成即可

Waiting for verification...
Resetting dropped connection: acme-v02.api.letsencrypt.org
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/aattec.com-0001/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/aattec.com-0001/privkey.pem
   Your certificate will expire on 2023-06-12. To obtain a new or
   tweaked version of this certificate in the future, simply run
   certbot again. To non-interactively renew *all* of your
   certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用certbot 生成 Let‘s Encrypt 泛域名ssl证书 的相关文章

随机推荐

  • java中的<;和>;分别是什么意思

    今天在做java笔试题的时候 有一题出现了这个符号 由于我不认识这个符号就做错了 题目如下 这题的答案是A 而我选了C 后面百度才知道 lt 的意思是小于 lt 符号 在用markdown写文章的时候 就会显示 笔者在这里贴出其他类似的符号
  • C#异步编程学习笔记4 之 异步函数

    C 异步编程学习笔记4 之 异步函数 异步函数 awaiting async 修饰符 异步方法如何执行 可以 await 什么 捕获本地状态 await 之后在哪个线程上执行 UI 上的 await 代码运行原理 与粗粒度的并发相比 编写异
  • Blender插件BoxCutter 7.1.7v15 硬表面建模2.91+教程Box Cutter

    Boxcutter旨在成为最快的屏幕3d视图绘图切割器 通过时间和经验来学习和增强了工具 以使工作流程尽可能地人性化地优化用户 提供各种行为来个性化体验 以使事情保持流畅 每天都会对这些工具进行严格的测试 以确保它们不仅可以与当前版本的Bl
  • Flask-文件上传

    在Flask中处理文件上传非常简单 它需要一个enctype属性设置为 multipart form data 的HTML表单 将该文件提交到指定URL 也可以配置上传文件路径和指定上传文件大小 实例 upload html文件中包含一个f
  • 征战开发板从无到有(三)

    接上一篇 翘首已盼的PCB板子做好了 管脚约束信息都在PCB板上体现出来了 很满意 会不会成为爆款呢 嘿嘿 来 先看看PCB裸板美图 由于征战开发板电路功能兼容小梅哥ACX720 大家可以直接用小梅哥的视频来学习 不会影响学习体验 现在学习
  • C语言最重要的知识点【入门干货】

    C语言最重要的知识点 总体上必须清楚的 1 程序结构是三种 顺序结构 选择结构 分支结构 循环结构 2 读程序都要从main 入口 然后从最上面顺序往下读 碰到循环做循环 碰到选择做选择 有且只有一个main函数 3 计算机的数据在电脑中保
  • RuntimeError: cublas runtime error : resource allocation failed at

    root bsyocr server train tail trainall210722 6 log txt File home server train pytorch pretrained modeling py line 300 in
  • Nginx的安装(实践记录)

    1 安装nginx需要系统中有gcc环境 先查看本机是否安装gcc gcc version 如果没有就需要安装 gcc gcc c gcc g gcc gnat gcc java gcc objc libgcj libgcj devel l
  • C/C++ 杨辉三角形

    题目描述 还记得中学时候学过的杨辉三角形吗 具体的定义这里不再描述 你可以参考以下的图形 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 输入 输入数据包含多个测试实例 每个测试实例的输入只包含一个正整数n 1 lt n lt
  • AJAX学习笔记8 跨域问题及解决方案

    AJAX学习笔记7 AJAX实现省市联动 biubiubiu0706的博客 CSDN博客 跨域 指一个域名的网页去请求另外一个域名资源 比如百度页面去请求京东页面资源 同源与不同源三要素 协议 域名 端口 协议一致 域名一致 端口一致 才算
  • JAVA中的内存分配

    JAVA中的内存分配 栈 方法运行时使用的内存 比如main方法的运行 进入方法栈中执行 堆 存储对象或数组 new来创建的 都存储在堆内存中 方法区 存储可以运行的class文件 本地方法栈 JVM在使用操作系统功能的时候使用 和我们开发
  • 查询、关闭正在运行的Tomcat端口

    查询正在使用的端口 快捷键win R 输入cmd 回车 打开cmd窗口 查看所有的端口进程 请输入netstat ano 查看某个特定端口 输入netstat ano findstr 8089 关闭某个端口进程 输入taskkill f p
  • Javaweb

    一 创建包和类来编译servlet程序 二 编译和运行
  • 如何在老版本浏览器中丝滑地使用JS新特性(ES6)

    如何在老版本浏览器中丝滑地使用JS新特性呢 如何在老版本浏览器中丝滑地使用JS新特性呢 有两种方法可以帮助我们实现 第一种方法就是我们用JS原有的方法 自己去实现JS的新特性 不是说好的丝滑使用新特性吗 就这 哈哈哈 别急 客官留步 我还有
  • spring boot 数据库层

    项目开启 首先设计数据库以及存储表 表的联系 需要存贮的信息 基本表的性质 基本表与中间表 临时表不同 因为它具有如下四个特性 1 原子性 基本表中的字段是不可再分解的 2 原始性 基本表中的记录是原始数据 基础数据 的记录 3 演绎性 由
  • openid和unionid的区别

    openid和unionid的区别 1 微信openid和unionid长度是不一样的 openid 28 unionid 29 2 openid同一用户同一应用唯一 unionid同一用户不同应用唯一 这里的不同应用是指在同一微信开发平台
  • C++学习6

    堆 是存在于某个作用域的一个内存空间 例如 当你调用函数 函数本身会形成一个栈用来放置它所接收的参数 以及返回地址 栈 由操作系统提供的一个全局的内存空间 程序可动态分配 内存管理 生命周期 栈对象 离开堆的作用域 会调用对象的析构函数 内
  • rabbitmq分布式事务解决方案

    发送消息到mq 流程 用户下订单创建订单信息 且创建一条订单冗余信息 status 为 0 发送订单信息到mq 使用ack 消息确认机制 确认消息发送成功修改订单状态为 1 表示消息已发送 启动一个定时任务 排查 订单状态为 0 的订单 发
  • Win2003搭建网站教程

    1 搭建Win2003虚拟机 此过程略 2 开始 管理您的服务器 添加或删除角色 3 下一步 配置您的服务器向导 选择应用程序服务器 IIS asp NET 下一步 完成安装 4 打开 开始 管理工具 Internet信息服务器 IIS 管
  • 使用certbot 生成 Let‘s Encrypt 泛域名ssl证书

    文章目录 一 更新证书报错 二 Let s Encrypt 泛域名ssl证书申请 一 更新证书报错 问题描述 更新SSL证书时报 too many failed authorizations 错误 原因分析 当前要更新的域名一个小时触发失败