openEuler基于certbot申请内网ssl泛域名免费证书

openEuler基于certbot申请内网ssl泛域名免费证书 一、安装 Certbotpip3installcertbot certbot-nginx二、申请证书单域名申请certbot certonly--manual--preferred-challenges dns-djk.xxx.cn泛域名申请certbot certonly--manual--preferred-challenges dns-d*.xxx.cn-dxxx.cn命令详解--manual使用手动交互模式获取证书不依赖 Web 服务或 DNS 插件。--preferred-challengesdns指定 DNS 方式验证使用 DNS TXT 记录进行验证。-d *.xxx.cn泛域名覆盖所有子域名如 wiki.xxx.cn、jk.xxx.cn 等。-d xxx.cn主域名。三、添加 DNS TXT 验证记录执行申请命令后Certbot 会暂停并提示你需要添加的 DNS TXT 记录值。此时请前往你的域名 DNS 管理后台添加对应的主机记录通常为_acme-challenge及 TXT 记录值。四、验证 DNS 生效添加记录后不要立即按回车先在终端验证 DNS 是否已生效dig_acme-challenge.xxx.cn TXT注意一定要等到命令返回的 TXT 记录值与 Certbot 提示的一致再按回车继续。DNS 传播时间通常需要 1-5 分钟也可能更长时间。验证通过后Certbot 将成功签发证书Successfully received certificate. Certificate is saved at: /etc/letsencrypt/live/xxx.cn/fullchain.pem Key is saved at: /etc/letsencrypt/live/xxx.cn/privkey.pem This certificate expires on 2026-09-08. These files will be updated when the certificate renews.五、配置 Nginx手动配置 Nginx 以应用申请到的证书server { listen 443 ssl; server_name xxx.cn *.xxx.cn; ssl_certificate /etc/letsencrypt/live/xxx.cn/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/xxx.cn/privkey.pem; # 其他配置... }附录为什么 DNS-01 适合内网环境不依赖 80 端口DNS-01 验证只需要在 DNS 管理后台添加 TXT 记录Let’s Encrypt 服务器会通过 DNS 查询来验证域名所有权完全绕过了 HTTP 请求。适用于内网 IP即使你的服务器只有内网 IP只要域名能正常提供 DNS 服务解析记录可查就能成功申请证书。支持泛域名如果你想申请*.xxx.cn这样的泛域名证书DNS-01 是唯一支持的方式。附录自动续期问题由于使用--manual模式Certbot 无法自动续期证书需要你每 90 天手动重复上述步骤Let’s Encrypt 证书有效期为 90 天。如果你需要自动化续期可以考虑以下方案使用 acme.sh 脚本它支持多种 DNS API 的自动验证可以完全自动化。使用 Nginx Proxy Manager它内置了 Let’s Encrypt 集成支持 DNS 挑战方式可以自动续期。