Certbot是一个免费、自动化的工具,专门用来获取和续期Let‘s Encrypt的SSL证书。它和你现有的 Gunicorn + Nginx 组合是完美搭档,互不冲突。
可以把它们的分工理解为:
Gunicorn:是你的“Django应用服务器”,负责运行Python代码。
Nginx:是你的“Web服务器/反向代理”,负责对外接待访客、处理静态文件,并将动态请求转发给Gunicorn。
Certbot:是你的“SSL证书管家”,负责帮你从Let‘s Encrypt免费获取证书,并自动配置到Nginx中。
因为你现在已经能通过 http://potatotime.top 访问网站,说明 Nginx + Gunicorn 的链路是通的。现在只需要让 Certbot 为 Nginx 配置SSL证书和跳转规则 即可。
🛠️ 第一步:安装Certbot
在你的Ubuntu服务器上执行:
bash
复制
下载
# 1. 更新软件包列表
sudo apt update
# 2. 安装Certbot及其Nginx插件
sudo apt install certbot python3-certbot-nginx -y
这个 python3-certbot-nginx 插件让Certbot能自动读取和修改你的Nginx配置,非常方便。
🔐 第二步:一键获取证书并自动配置(核心步骤)
这是最关键的一步。Certbot会帮你完成三件事:1. 获取证书;2. 修改Nginx配置启用HTTPS;3. 设置HTTP到HTTPS的自动跳转。
⏰ 第三步:确认证书自动续期
Let‘s Encrypt证书只有90天,但Certbot默认会设置一个定时任务自动续期。运行以下命令确认:
bash
# 模拟一次续期,检查是否配置正确
sudo certbot renew --dry-run
如果看到 “The dry run was successful” 的提示,就说明一切正常,以后会自动续期。
这是个很棒的工具,会自动配置Nginx配置文件,保证http自动跳转到https
settings.py也不用改也能正常启动,安全起见还是按需要修改一下