免费申请SSL证书步骤详解

Certbot 是一个免费的开源工具,用于自动获取和更新 SSL/TLS 证书,通常用于为网站启用 HTTPS。它由 Electronic Frontier Foundation (EFF) 开发,支持 Let's Encrypt 证书颁发机构(CA)。以下是使用 Certbot 获取 SSL 证书的详细步骤:

1. 安装 Certbot

Certbot 的安装方法取决于你的操作系统和 Web 服务器类型(如 Nginx 或 Apache)。
在 Ubuntu/Debian 上安装 Certbot

sudo apt update
sudo apt install certbot python3-certbot-nginx # 如果使用 Nginx
sudo apt install certbot python3-certbot-apache # 如果使用 Apache

在 CentOS/RHEL 上安装 Certbot

sudo yum install epel-release
sudo yum install certbot python3-certbot-nginx  # 如果使用 Nginx
sudo yum install certbot python3-certbot-apache # 如果使用 Apache

2. 获取 SSL 证书

Certbot 支持两种主要方式来获取证书:自动配置手动配置
方法一:自动配置(推荐)
Certbot 可以自动配置你的 Web 服务器(如 Nginx 或 Apache)并获取证书。
- 对于 Nginx:

sudo certbot --nginx
  • 对于 Apache:
sudo certbot --apache

Certbot 会自动检测你的域名并完成证书的申请和配置。
方法二:手动配置
如果你不想让 Certbot 修改 Web 服务器配置,可以使用手动模式:

sudo certbot certonly --manual -d example.com -d www.example.com

你需要按照提示完成域名验证(例如,通过创建特定的 DNS 记录或 HTTP 文件)。

3. 自动续期

Let's Encrypt 证书的有效期为 90 天,Certbot 可以自动续期证书。
测试自动续期:

sudo certbot renew --dry-run

Certbot 会自动配置定时任务(cron job)来续期证书。
你可以手动检查定时任务:

sudo systemctl list-timers

4. 验证证书

获取证书后,你可以通过以下方式验证证书是否生效:
https://yourdomain.com
使用 SSL 检查工具SSL Labs测试你的域名。

5. 常见命令

查看已安装的证书:

sudo certbot certificates

删除证书:

sudo certbot delete --cert-name example.com

强制续期证书:

sudo certbot renew --force-renewal

6. 注意事项

域名解析:确保你的域名已正确解析到服务器 IP。
防火墙:开放 HTTP(80 端口)和 HTTPS(443 端口)的访问权限。
备份配置:在自动配置之前,建议备份 Web 服务器的配置文件(如 Nginx 的 nginx.conf 或 Apache 的 httpd.conf。