说明:若要全自动、免 SSH,请优先使用控制台
「一键申请」
(填写 DNS API 后系统自动完成验证与签发)。
本页为手动 certbot 向导,适合熟悉服务器的用户。
你只应为自己拥有或获授权的域名申请证书。
填写申请信息
必须是你已拥有 DNS 解析权或能放置验证文件的域名。
逗号分隔。通配符
*.example.com 必须选择 DNS 验证。用于到期提醒与 Let's Encrypt 账户联系(可选)。
提示:主域名必填(例:ssl.zuisao.com)。本页为纯前端向导,不依赖登录。
选择域名验证方式
Let's Encrypt 通过下列方式之一确认你控制该域名。
左右卡片均可点选;选中会变绿并显示「✓ 已选择」。DNS 选项始终可用,不受测试域名限制。
在服务器上执行的命令
—
前置条件:域名 A/AAAA 记录已指向你的服务器;80/443(HTTP 验证)或 DNS API 权限(DNS 验证)可用;已用 SSH 登录服务器。
DNS 验证说明(若工具使用手动/交互模式)
- 运行签发命令,工具会提示添加 TXT 记录值。
- 登录域名 DNS 控制台,为主域名添加 TXT:
_acme-challenge.你的域名→ 工具给出的值。 - 等待解析生效(通常 1–5 分钟),回车继续。
- 验证成功后工具会输出证书文件路径。
成功后你将得到:
fullchain1.pem(或 cert.pem)与 privkey.pem——即浏览器信任的正式证书与私钥。
Nginx 部署示例
server {
listen 443 ssl http2;
server_name example.com www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
# HSTS(确认全站 HTTPS 后再开启)
# add_header Strict-Transport-Security "max-age=31536000" always;
location / {
root /var/www/example.com;
index index.html;
}
}
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
自动续期
# certbot:多数安装已启用 systemd timer,可手动测试 sudo certbot renew --dry-run # acme.sh:安装时已写入 crontab,可手动续期 acme.sh --renew -d example.com
- 证书有效期 90 天,建议确认定时任务每周运行
- 续期成功后通常需 reload:例如
sudo systemctl reload nginx - certbot 可安装
--deploy-hook在续期后自动 reload
Trust
为什么必须走域名验证?
这是公开信任 CA 的安全基石:只有能证明「我控制这个域名」的申请者,才能拿到浏览器信任的证书,防止他人冒用你的域名签发钓鱼证书。
HTTP-01
CA 访问你的 http://域名/.well-known/acme-challenge/随机值,内容匹配即通过。需公网 80 端口。
DNS-01
CA 查询 DNS TXT 记录 _acme-challenge.域名。支持通配符,适合复杂架构。
自动续期
90 天有效期通过定时任务自动更换,用户几乎无感知,符合安全最佳实践。