在服务器上部署网站后,配置 HTTPS 已成为刚需。
本文将手把手教你如何在服务器上:
安装 Nginx Web 服务器
安装 Certbot + Nginx 插件
使用 一条命令自动申请 HTTPS 证书
开启 SSL 证书自动续期
域名未解析成功将导致 Certbot 验证失败
如果你的服务器尚未安装 Nginx,执行:
bashsudo apt update sudo apt install -y nginx
启动并设置开机自启:
bashsudo systemctl start nginx
sudo systemctl enable nginx
注意
nginx的安装到此结束
Certbot 是 Let's Encrypt 官方推荐的证书管理工具,
python3-certbot-nginx 插件可以 自动修改 Nginx 配置。
bashsudo apt install certbot python3-certbot-nginx
安装完成后,检查版本:
bashcertbot --version
一条命令实现以下功能:
自动验证域名所有权
自动申请免费 SSL 证书
自动配置 Nginx HTTPS
可选强制 HTTP 跳转 HTTPS
自动 reload Nginx
推荐命令(单域名)
bashsudo certbot --nginx -d 你的域名
示例:
bashsudo certbot --nginx -d example.com
多域名 / www 支持
bashsudo certbot --nginx -d example.com -d www.example.com
申请过程中会提示:
成功后会看到:
bashCongratulations! You have successfully enabled HTTPS
🎉 HTTPS 已完成配置!
使用 --nginx 模式后,Certbot 会自动:
扫描 Nginx 站点配置
写入 SSL 配置块
设置证书路径:
bash/etc/letsencrypt/live/你的域名/
你 无需手动修改任何配置文件。
方法一:浏览器访问
bashhttps://你的域名
地址栏出现 🔒 即表示成功。
方法二:命令行验证
bashcurl -I https://你的域名
返回 200 或 301 即为正常。
Let's Encrypt 证书有效期 90 天,Certbot 会自动续期。
1️⃣ 查看自动续期任务
bashsystemctl list-timers | grep certbot
通常会看到:
bashcertbot.timer
2️⃣ 手动测试续期(推荐)
bashsudo certbot renew --dry-run
若无报错,说明自动续期配置正常。
bashsudo ufw allow 80 sudo ufw allow 443 sudo ufw reload
bashsudo nginx -t
修复错误后再运行 Certbot。
等待 DNS 生效(通常 5–30 分钟)
确认未使用内网 IP
通过 Nginx + Certbot + Let's Encrypt,你可以在服务器上:
免费获取 HTTPS / SSL 证书
一条命令完成自动配置
自动续期,长期免维护
核心命令回顾
bashsudo apt install certbot python3-certbot-nginx
bashsudo certbot --nginx -d 你的域名

