DNS 验证申请 Let's Encrypt ECC 证书完整教程
侧边栏壁纸
  • 累计撰写 12 篇文章
  • 累计收到 0 条评论

DNS 验证申请 Let's Encrypt ECC 证书完整教程

你的云
2026-06-04 / 0 评论 / 29 阅读 / 正在检测是否收录...

通过 DNS 验证申请 Let’s Encrypt ECC 证书

适合:Debian / Ubuntu 系统,Nginx HTTPS 配置,无法使用 HTTP 验证的场景。本文提供完整教程、常见问题解答。

简介

在 Nginx 环境中,想要启用 HTTPS,必须申请 SSL/TLS 证书。
本文演示如何使用 acme.sh 通过 DNS 手动验证方式申请 Let’s Encrypt ECC 证书,并在 Nginx 上配置。

项目开源地址:https://github.com/acmesh-official/acme.sh

适合场景:

  • 没有公网 80 端口或无法使用 HTTP 验证
  • 想使用 ECC 证书提升性能
  • Debian / Ubuntu 系统
  • 配置 Nginx HTTPS 服务

1.安装 acme.sh

curl https://get.acme.sh | sh
ln -s /root/.acme.sh/acme.sh /usr/local/bin/acme.sh
acme.sh --version

2.切换到 Let’s Encrypt 证书

acme.sh --set-default-ca --server letsencrypt
acme.sh --info

3.申请 ECC 证书(DNS 手动验证)

acme.sh --issue -d example.com \
--dns \
--ecc \
--yes-I-know-dns-manual-mode-enough-go-ahead-please

把示例 example.com 域名换成你自己的

记下返回的 TXT 值,用于 DNS 验证。


4.添加 DNS TXT 记录

类型主机记录记录值
TXT_acme-challenge.example.com返回的 TXT 值
注意不同 DNS 服务商可能要求写完整域名或只写子域名。

点击下方:链接到 DNS 解析或 Cloudflare 配置教程:


5.验证 DNS 是否生效

nslookup -type=TXT _acme-challenge.example.com 1.1.1.1

返回 TXT 值即生效,否则等待 DNS 同步。

如果提示NXDOMAIN错误

原因:

  • TXT 记录未添加
  • DNS 未生效
  • 主机记录写错

6.签发 ECC 证书

acme.sh --renew -d example.com \
--yes-I-know-dns-manual-mode-enough-go-ahead-please \
--ecc

证书路径:

~/.acme.sh/example.com_ecc/
  ├─ fullchain.cer
  ├─ example.com.key
  └─ ca.cer

7.Nginx 配置 SSL 证书

复制证书:

mkdir -p /root/nginx/ssl
cp ~/.acme.sh/example.com_ecc/fullchain.cer /root/nginx/ssl/example.com.cer
cp ~/.acme.sh/example.com_ecc/example.com.key /root/nginx/ssl/git.example.com.key

以你的nginx 证书实际路径为准

8.最后

如果想签发新的证书按照以下方法:

1.强制签发新证书

acme.sh --renew -d example.com \
--yes-I-know-dns-manual-mode-enough-go-ahead-please \
--ecc --force
每次使用 --force 会生成新的 TXT 验证值,需要重新添加 DNS。

2.验证DNS生效

nslookup -type=TXT _acme-challenge.example.com 1.1.1.1
返回 TXT 值即生效,否则等待 DNS 同步。

3.下发证书

acme.sh --renew -d example.com \
--yes-I-know-dns-manual-mode-enough-go-ahead-please \
--ecc

以上就是本文全部内容

0

评论

博主关闭了所有页面的评论