Let's Encrypt 正规证书签发向导

交互式完成域名信息与验证方式选择,一键生成可复制的签发命令。最终证书由 Let's Encrypt(受浏览器信任的公共 CA)签发,免费、有效期 90 天。

说明:若要全自动、免 SSH,请优先使用控制台 「一键申请」 (填写 DNS API 后系统自动完成验证与签发)。 本页为手动 certbot 向导,适合熟悉服务器的用户。 你只应为自己拥有或获授权的域名申请证书。
1. 域名信息
2. 验证方式
3. 生成命令
4. 部署续期

填写申请信息

必须是你已拥有 DNS 解析权或能放置验证文件的域名。
逗号分隔。通配符 *.example.com 必须选择 DNS 验证。
用于到期提醒与 Let's Encrypt 账户联系(可选)。

提示:主域名必填(例:ssl.zuisao.com)。本页为纯前端向导,不依赖登录。

选择域名验证方式

Let's Encrypt 通过下列方式之一确认你控制该域名。

左右卡片均可点选;选中会变绿并显示「✓ 已选择」。DNS 选项始终可用,不受测试域名限制。

在服务器上执行的命令

前置条件:域名 A/AAAA 记录已指向你的服务器;80/443(HTTP 验证)或 DNS API 权限(DNS 验证)可用;已用 SSH 登录服务器。

            

            
成功后你将得到: 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

验证是否生效

curl -I https://example.com
# 或在浏览器访问,地址栏应显示 🔒 且无「不安全」警告

openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null \
  | openssl x509 -noout -subject -issuer -dates
查看完整文档 需要自签名证书?
Trust

为什么必须走域名验证?

这是公开信任 CA 的安全基石:只有能证明「我控制这个域名」的申请者,才能拿到浏览器信任的证书,防止他人冒用你的域名签发钓鱼证书。

🌐

HTTP-01

CA 访问你的 http://域名/.well-known/acme-challenge/随机值,内容匹配即通过。需公网 80 端口。

📋

DNS-01

CA 查询 DNS TXT 记录 _acme-challenge.域名。支持通配符,适合复杂架构。

🔄

自动续期

90 天有效期通过定时任务自动更换,用户几乎无感知,符合安全最佳实践。