news 2026/6/10 14:35:28

使用 Certbot 在腾讯云生成 Let’s Encrypt 通配符证书完整教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用 Certbot 在腾讯云生成 Let’s Encrypt 通配符证书完整教程

本文详细记录了在腾讯云环境下,通过Certbot获取和续期Let’s Encrypt通配符证书的完整流程,包括 DNS API 配置、通配符证书申请、常见错误及解决方案。


1️⃣ 安装 Certbot

在 Ubuntu 系统中,推荐使用官方 PPA:

sudoaptupdatesudoaptinstallcertbot python3-certbot-dns-tencentcloud -y
  • certbot:核心工具
  • python3-certbot-dns-tencentcloud:用于通过腾讯云 DNS API 获取通配符证书

确认安装成功:

certbot --version

2️⃣ 配置腾讯云 DNS API 凭证

  1. 在腾讯云控制台创建API 密钥

    • 登录 腾讯云 API 密钥管理
    • 记录SecretIdSecretKey
  2. 在服务器上创建凭证文件:

mkdir-p /root/.secrets/certbotvim/root/.secrets/certbot/tencentcloud.ini

内容示例:

# 腾讯云 API 凭证 dns_tencentcloud_secret_id = YOUR_SECRET_ID dns_tencentcloud_secret_key = YOUR_SECRET_KEY

修改权限,防止其他用户读取:

chmod600/root/.secrets/certbot/tencentcloud.ini

3️⃣ 申请通配符证书

使用 TencentCloud DNS 插件申请证书:

certbot certonly\--dns-tencentcloud-credentials /root/.secrets/certbot/tencentcloud.ini\--dns-tencentcloud-propagation-seconds60\-d xunhuawenyou.cn\-d"*.xunhuawenyou.cn"

操作说明:

  • certonly:只获取证书,不自动配置 Nginx
  • --dns-tencentcloud-credentials:API 凭证文件路径
  • --dns-tencentcloud-propagation-seconds:DNS 记录生效等待时间
  • -d:指定域名,可包含通配符

⚠️ 常见交互

  1. 如果已有 RSA 证书,会提示是否升级为 ECDSA:
Update key type/(K)eep existing key type: U

选择U

  1. 如果已有证书部分域名相同,会提示是否扩展证书:
Do you want to expand and replace this existing certificate? (E)xpand/(C)ancel: E

选择E扩展。


4️⃣ 常见问题及解决方案

4.1 DNS API 授权失败

报错示例:

Error communicating with the DNSPOD API: http error status: 401

原因:

  • API 密钥错误
  • 使用了错误的 DNS 产品(腾讯云 DNS vs DNSPod)

解决方法:

  • 确认凭证文件内容正确
  • 确认域名在腾讯云 DNS 上托管
  • 文件权限为 600

4.2 Nginx 配置导致续期失败

报错示例:

nginx: [emerg] open() "/var/log/nginx/xunhuawenyou.cn/access.log" failed (2: No such file or directory)

解决方法:

  • 确认 Nginx 配置文件正确
  • 确保日志路径存在或切换 DNS 验证方式

5️⃣ 检查证书与文件路径

证书生成成功后路径:

证书文件:/etc/letsencrypt/live/xunhuawenyou.cn/fullchain.pem 私钥文件:/etc/letsencrypt/live/xunhuawenyou.cn/privkey.pem 证书有效期:至 2026-04-30

注意:使用通配符证书必须 DNS 验证。


6️⃣ 自动续期

Certbot 默认安装后会创建systemd timer自动续期。

检查定时任务:

systemctl list-timers|grepcertbot

手动测试续期:

sudocertbot renew --dry-run

输出示例:

Simulating renewal of an existing certificate for xunhuawenyou.cn and *.xunhuawenyou.cn Congratulations, all simulated renewals succeeded

⚠️ 注意事项:

  • 如果不再使用的域名可以删除对应的 renewal 配置:
sudorm/etc/letsencrypt/renewal/huaxianguan.com.conf
  • 确保 DNS API 密钥有效,续期才会成功

7️⃣ 总结

  • 在腾讯云使用 Certbot 获取通配符证书必须使用 DNS API 插件
  • 生成证书前需创建凭证文件,并设置 600 权限
  • 成功申请后,系统会自动创建定时任务续期
  • 定期用--dry-run检查续期情况
  • 不再使用的域名可以删除对应的 renewal 文件,避免续期错误
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/6 5:20:20

一天一个Python库: pydantic - 数据验证与设置管理

pydantic - 数据验证与设置管理 一、什么是pydantic? pydantic 是一个用于进行数据验证和设置管理的 Python 库。 它使用 Python 类型提示来定义数据模式,并自动进行数据验证、序列化和反序列化。 它可以帮助你: 强制数据结构符合预期的类…

作者头像 李华
网站建设 2026/6/10 13:22:37

太空巨头SpaceX的崛起与启示:从降本革命到星际探索

摘要:本报告基于SpaceX的发展历程与技术突破,揭秘其“降本生态”的崛起逻辑——估值超万亿美元,2026年计划IPO,通过可复用技术与规模化量产重塑太空经济,NASA商业化改革进一步绑定合作,为从业者、投资者、政…

作者头像 李华
网站建设 2026/6/10 11:09:09

C语言对话-13.怎样持久化一个对象

徐波 翻译 当我疲惫地穿过走廊时,正是欧洲当地时间零点十分。我已经筋疲力尽,又有三个下午的值班在等着我。 一小束柔和的光散发到凉爽的金属走廊上。梅杰.吉尔伯的房门微开着,我想这是巧合,尽管通风系统最近工作负荷太重很可能…

作者头像 李华
网站建设 2026/6/10 11:10:37

农业信息化平台用Web编辑器导入Word文档时,如何处理图文混排?

企业网站后台管理系统富文本编辑器功能扩展开发记录 一、需求分析与技术选型 作为新疆某软件公司的前端工程师,最近接到客户需求:在企业网站后台管理系统的文章发布模块中增加Word粘贴、Word文档导入和微信公众号内容粘贴功能。经过详细分析&#xff0…

作者头像 李华
网站建设 2026/6/10 13:09:26

计算机毕业设计springboot校内快递代取服务平台 高校智慧物流代取服务系统校园即时配送与快递代领管理平台 基于SpringBoot的校内快递代取服务平台设计方案

计算机毕业设计springboot校内快递代取服务平台48u6x391 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。 随着电子商务的蓬勃发展,高校校园已成为快递业务的高频场景…

作者头像 李华
网站建设 2026/6/4 11:40:06

Markdown 高级特性指南

本文转载自:AI225在线工具箱,原文链接:https://tools.ai225.com/articles/markdown-advanced-features/ 表格 Markdown 表格使用管道符号 | 和短横线 - 来创建。你可以通过在分割行添加冒号 : 来控制列的对齐方式。 对齐方式: …

作者头像 李华