0元搞定HTTPS,全球3亿+网站的首选方案
免费 · 自动化 · 安全Let's Encrypt 是一个免费、自动化、开放的证书颁发机构(CA),由互联网安全研究组(ISRG)运营。它的目标是让所有网站都能轻松使用 HTTPS 加密连接。
🌍 全球超过 3亿+ 网站使用 Let's Encrypt 证书,是目前最受欢迎的免费 SSL/TLS 证书方案!
Let's Encrypt 由 Mozilla、Cisco、Akamai、EFF、Chrome 等知名组织和公司共同发起,是一个非营利性组织,致力于让互联网变得更安全。
不收取任何费用,无隐藏消费
ACME协议自动申请、部署和续期
所有主流浏览器100%信任
支持自动续期,更安全
完全开源,可审计验证
几分钟内即可获取证书
Let's Encrypt 使用 ACME(自动证书管理环境) 协议来自动化证书的申请和管理过程:
ACME 客户端(如 Certbot)向 Let's Encrypt 发起证书申请,并证明你对域名的控制权。
Let's Encrypt 会发起"挑战"来验证域名所有权,常见方式有:
验证通过后,Let's Encrypt 从多个网络位置确认验证结果,然后签发 SSL/TLS 证书。
Certbot 自动将证书部署到 Web 服务器(Nginx/Apache),并配置 HTTPS 重定向。
| 项目 | 要求 |
|---|---|
| 服务器 | Linux 服务器(推荐 Ubuntu/CentOS/Debian) |
| 域名 | 已解析到服务器 IP 的域名 |
| 端口 | 80 端口和 443 端口必须对外开放 |
| Web 服务器 | Nginx 或 Apache(推荐 Nginx) |
| 权限 | root 或 sudo 权限 |
⚠️ 注意:申请证书前,请确保域名已正确解析到服务器 IP,否则验证会失败!
Certbot 是 Let's Encrypt 官方推荐的 ACME 客户端工具,支持自动化获取和部署证书。
# 更新软件包列表
sudo apt update
# 安装 Certbot 和 Nginx 插件
sudo apt install -y certbot python3-certbot-nginx
# 安装 EPEL 仓库
sudo yum install -y epel-release
# 安装 Certbot 和 Nginx 插件
sudo yum install -y certbot python3-certbot-nginx
# 安装 snapd
sudo apt install -y snapd
# 安装 Certbot
sudo snap install --classic certbot
# 创建符号链接
sudo ln -s /snap/bin/certbot /usr/bin/certbot
# 自动获取证书并配置 Nginx
sudo certbot --nginx -d example.com -d www.example.com
Certbot 会自动:
# 仅获取证书,不修改 Nginx 配置
sudo certbot certonly --nginx -d example.com -d www.example.com
# 通配符证书需要 DNS 验证
sudo certbot certonly --manual --preferred-challenges dns -d "*.example.com" -d example.com
✅ 证书获取成功后,文件保存在 /etc/letsencrypt/live/example.com/ 目录下
| 文件 | 说明 |
|---|---|
fullchain.pem |
完整证书链(证书 + 中间证书) |
privkey.pem |
私钥文件 |
cert.pem |
域名证书 |
chain.pem |
中间证书 |
Let's Encrypt 证书有效期为 90 天,建议配置自动续期:
# 模拟续期测试(不会实际续期)
sudo certbot renew --dry-run
# 编辑定时任务
sudo crontab -e
# 添加以下行(每天凌晨2点检查续期)
0 2 * * * /usr/bin/certbot renew --quiet --post-hook "systemctl reload nginx"
💡 Certbot 只会在证书到期前 30 天内才会实际续期,每天运行一次完全没问题。
如果选择手动配置,参考以下 Nginx 配置:
server {
listen 80;
server_name example.com www.example.com;
# HTTP 自动重定向到 HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name example.com www.example.com;
# SSL 证书路径
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
# SSL 安全配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# HSTS 安全头
add_header Strict-Transport-Security "max-age=31536000" always;
location / {
root /var/www/html;
index index.html;
}
}
安全!Let's Encrypt 使用与付费证书相同的加密标准,所有主流浏览器都信任它。Mozilla、Google、Cisco 等大公司都是其赞助商。
短有效期是故意设计的:一是降低私钥泄露的影响范围;二是鼓励自动化管理,配合自动续期后完全无感。
支持!使用 DNS-01 验证方式即可申请通配符证书(如 *.example.com)。
有。每个注册域名每周最多 50 个证书,每个 IP 每 3 小时最多 10 个帐户。正常使用完全够用。
完全可以!Let's Encrypt 没有任何使用限制,个人项目和商业项目都可以免费使用。
加密强度完全相同。付费证书主要区别在于:支持组织验证(OV)/扩展验证(EV)、提供保险赔付、有专业技术支持。对于大多数网站,Let's Encrypt 完全够用。
和志同道合的朋友一起交流学习
抖音扫码加入