Logo

最好用的免费Let's Encrypt SSL 证书

author
YGHub·2024-11-08·2·字数:405 字·阅读时间:2 分钟

Let’s Encrypt介绍

Let’s Encrypt 是一家免费、开放、自动化的公益性证书颁发机构(CA), 由互联网安全研究组(ISRG)运作。

Let’s Encrypt 的宗旨是:

  • 免费:任何人只要持有域名就可以通过 Let’s Encrypt 免费获得可信的数字证书。
  • 自动:使用服务器上运行的软件即可与 Let’s Encrypt 交互,轻松实现证书的获取、安全配置以及自动续期。
  • 安全:Let’s Encrypt 不仅颁发证书,还在积极协助广大网站运作者正确维护服务器安全,从而成为一个推动 TLS 安全最佳实践的平台。
  • 透明:我们颁发及吊销的所有证书都有公开记录,任何人都可以查阅。
  • 开放:我们的证书自动签发及续期协议已作为开放标准发布,各方均可采用。
  • 合作:正如我们所依赖的互联网基础协议一样,Let’s Encrypt 是一支多方合作形成的公益力量,绝不受个别组织团体掌控。

1.安装 Certbot:

bash
# Ubuntu/Debian
sudo apt update
sudo apt install certbot python3-certbot-nginx
 

安装 Certbot

2.申请证书:

bash
# 自动配置 Nginx
sudo certbot --nginx -d yghub.com -d www.yghub.com
 

申请证书

2.1 命令执行完成,yghub.conf文件中会自动生成配置信息

bash
# yghub.conf
# www 重定向到根域名
server {
server_name www.yghub.com;
return 301 $scheme://yghub.com$request_uri;
 
listen 443 ssl; # 由Certbot生成管理
ssl_certificate /etc/letsencrypt/live/yghub.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/yghub.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
 
}
 
# 主站点配置
server {
server_name yghub.com;
# 其他配置保持不变...
listen 443 ssl; # 由Certbot生成管理
ssl_certificate /etc/letsencrypt/live/yghub.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/yghub.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
 
server {
if ($host = yghub.com) {
return 301 https://$host$request_uri;
} # 由Certbot生成管理
 
 
listen 80;
server_name yghub.com;
return 404; # 由Certbot生成管理
 
 
}
server {
if ($host = www.yghub.com) {
return 301 https://$host$request_uri;
} # 由Certbot生成管理
 
 
listen 80;
server_name www.yghub.com;
return 404; # 由Certbot生成管理
 
 
}
 

3.证书自动续期配置:

bash
# 测试自动续期
sudo certbot renew --dry-run
 
# 查看定时任务
sudo systemctl list-timers
 
# 手动添加定时任务(如果需要)
sudo crontab -e
 
# 添加以下内容
0 0,12 * * * certbot renew --quiet --deploy-hook "systemctl reload nginx"
 

4.证书管理命令:

bash
# 查看证书列表
sudo certbot certificates
 
# 删除证书
sudo certbot delete --cert-name yghub.com
 
# 添加新域名到现有证书
sudo certbot --expand -d yghub.com -d www.yghub.com -d new.yghub.com
 

5.安全性检查:

bash
# 使用 SSL Labs 测试(在线工具)
# 访问 https://www.ssllabs.com/ssltest/
 
# 本地测试 SSL 配置
openssl s_client -connect yghub.com:443 -tls1_2
 

6.常见问题处理:

bash
# 查看 Certbot 日志
sudo tail -f /var/log/letsencrypt/letsencrypt.log
 
# 检查证书权限
sudo ls -l /etc/letsencrypt/live/yghub.com/
 
# 更新 Certbot
sudo apt update
sudo apt install --only-upgrade certbot
 

7.备份证书:

bash
# 备份证书和配置
sudo tar -czf letsencrypt-backup.tar.gz /etc/letsencrypt
 
# 备份 Nginx 配置
sudo cp /etc/nginx/conf.d/yghub.conf /etc/nginx/conf.d/yghub.conf.bak
 
Preview

2

点个赞 ~

版权申明: © 本文著作权归YGHub所有,未经YGHub网授权许可,禁止第三方以任何形式转载和使用本文内容。