Linux 通过Certbot申请Nginx ssl证书及自动续订

本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 证书。

文章目录