ubuntu申请Let‘s Encrypt证书,自动续期,实现永久免费SSL

在 Ubuntu 上使用 Let’s Encrypt 申请 SSL 证书并配置自动续期的步骤如下:


1. 安装 Certbot(推荐 Snap 方式)

# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装 Snap(如未安装)
sudo apt install snapd -y

# 安装 Certbot
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot  # 创建软链接方便使用

2. 申请证书

情况一:已安装 Nginx/Apache

Certbot 会自动修改配置完成验证:

# Nginx
sudo certbot --nginx

# Apache
sudo certbot --apache

按提示输入邮箱、同意协议并选择域名即可。

情况二:无 Web 服务器(使用独立模式)

确保 80 端口未被占用,运行:

sudo certbot certonly --standalone -d 你的域名

3. 验证证书

  • 证书路径:/etc/letsencrypt/live/你的域名/(含 fullchain.pemprivkey.pem
  • 访问 https://你的域名 确认 HTTPS 生效。

4. 配置自动续期

Certbot 默认已创建定时任务,但需手动测试:

# 测试续期(不实际执行)
sudo certbot renew --dry-run

# 手动强制续期
sudo certbot renew --force-renewal
  • 定时任务路径/etc/cron.d/certbot,每天检查两次,到期前自动续期。

常见问题

  1. 端口占用
    若使用独立模式,申请或续期时需确保 80 端口空闲。可改用 --webroot 模式(需配置 Web 服务器根目录):

    sudo certbot certonly --webroot -w /var/www/html -d 你的域名
    
  2. 防火墙设置
    确保开放 80 和 443 端口:

    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    
  3. 域名解析
    申请前确认域名已正确解析到服务器 IP。


总结

完成上述步骤后,Let’s Encrypt 证书会在到期前自动续期(有效期 90 天),无需手动干预。建议定期检查 /var/log/letsencrypt/ 日志确认续期状态。

你可能感兴趣的:(ubuntu申请Let‘s Encrypt证书,自动续期,实现永久免费SSL)