在Debian系统上,将Nginx与Let’s Encrypt集成以启用SSL/TLS加密是一个相对简单的过程。以下是详细的步骤指南:
如果你还没有安装Nginx,可以使用以下命令进行安装:
sudo apt update
sudo apt install nginx
Certbot是Let’s Encrypt的官方客户端工具,用于自动获取和续订SSL证书。你可以使用以下命令安装Certbot及其Nginx插件:
sudo apt install certbot python3-certbot-nginx
使用Certbot获取SSL证书。运行以下命令并按照提示操作:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
-d yourdomain.com
和 -d www.yourdomain.com
是你的域名。你可以根据需要添加更多域名。Certbot会自动配置Nginx以使用SSL证书,并创建一个定时任务来自动续订证书。
Certbot会自动测试Nginx配置并重启Nginx服务以确保配置正确:
sudo nginx -t
如果一切正常,你会看到类似以下的输出:
nginx: configuration file /etc/nginx/nginx.conf test is successful
如果你需要手动重启Nginx以应用更改,可以使用以下命令:
sudo systemctl restart nginx
Certbot会创建一个定时任务来自动续订证书。你可以使用以下命令查看定时任务:
sudo crontab -l
你应该能看到类似以下的条目:
0 */12 * * * root certbot renew --post-hook "systemctl reload nginx"
这表示Certbot会每12小时检查一次证书是否需要续订,并在续订成功后重新加载Nginx服务。
确保你的防火墙允许HTTPS流量(端口443)。如果你使用的是ufw
,可以运行以下命令:
sudo ufw allow 'Nginx Full'
最后,你可以使用浏览器访问你的域名,确保HTTPS连接正常工作,并且浏览器显示安全锁标志。
通过以上步骤,你已经成功地将Nginx与Let’s Encrypt集成,启用了SSL/TLS加密。