本pyhton版本博客站点上周主体功能陆续迁移完成,但未配置SSL证书访问。本篇博文记录一下Linux 通过Certbot申请Nginx ssl证书及自动续订。
要在 Linux 上为 Nginx 申请并配置 SSL 证书,可以按照以下步骤操作:
1、安装 Nginx(如果尚未安装)
sudo apt update
sudo apt install nginx
2、安装 Certbot 和 Nginx 插件
Certbot 是一个免费的工具,可以帮助你自动获取和续订 Let's Encrypt 的 SSL 证书。
sudo apt install certbot python3-certbot-nginx
3、 获取 SSL 证书
使用 Certbot 获取 SSL 证书。确保你的域名已经指向服务器的 IP 地址。
sudo certbot --nginx -d shenco.wang -d shenco.wang
按照提示完成证书的申请过程。
4、配置 Nginx
Certbot 会自动修改 Nginx 配置文件以启用 HTTPS。你可以检查配置文件以确保一切正常。
sudo nano /etc/nginx/conf.d/jianji.conf
5、重启 Nginx
重启 Nginx 以应用新的配置。
sudo systemctl restart nginx
6、验证 SSL 配置
打开浏览器,访问 https://py.shenco.wang 确保SSL 证书已正确安装并生效。
7、自动续订证书
Certbot 会自动设置一个定时任务来续订证书。你可以手动测试续订过程:
sudo certbot renew --dry-run
8、常见问题
- 防火墙设置:确保防火墙允许 HTTPS 流量。可以查看系统服务列表,以确定哪些防火墙服务正在运行:
sudo systemctl list-units | grep -E 'ufw|firewalld|nftables'
不同的防火墙开启HTTPS流量
sudo ufw allow 'Nginx Full'
或
sudo firewall-cmd --permanent --add-service=https
重启配置并验证。
-
DNS 设置:确保你的域名解析正确指向服务器的 IP 地址。
-
证书续订:默认情况下,Certbot 会在证书过期前自动续订。你可以通过查看 /etc/cron.d/certbot 文件来确认续订任务是否已设置。
通过以上步骤,你应该能够在 Linux 上成功为 Nginx 申请并配置 SSL 证书。