在Debian上,您可以使用Certbot(Let’s Encrypt的官方客户端)来实现Nginx的自动续期SSL证书。以下是详细步骤:
1. 安装Certbot
首先,确保您的系统是最新的:
sudo apt update
sudo apt upgrade
然后安装Certbot和Nginx插件:
sudo apt install certbot python3-certbot-nginx
2. 获取SSL证书
使用Certbot获取SSL证书。假设您的域名是example.com,运行以下命令:
sudo certbot --nginx -d example.com -d www.example.com
Certbot会自动配置Nginx以使用SSL,并提示您输入电子邮件地址和同意服务条款。
3. 配置自动续期
Certbot会创建一个定时任务(cron job)来自动续期证书。您可以通过以下命令查看和管理这些任务:
sudo crontab -l
默认情况下,Certbot会在证书到期前30天自动尝试续期。如果续期成功,它会重新加载Nginx配置以应用新的证书。
4. 手动测试续期
您可以手动测试续期过程以确保一切正常:
sudo certbot renew --dry-run
如果一切正常,Certbot会显示续期成功的信息。
5. 监控续期状态
Certbot会创建一个日志文件来记录续期尝试的结果。您可以通过以下命令查看日志:
sudo tail -f /var/log/letsencrypt/renewal.log
6. 配置Nginx
确保您的Nginx配置文件中包含SSL相关的设置。通常,Certbot会自动修改/etc/nginx/sites-available/default或您自定义的站点配置文件。以下是一个示例配置:
server {
listen 80;
server_name example.com www.example.com;
location /.well-known/acme-challenge/ {
root /var/www/certbot;
}
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location / {
root /var/www/html;
index index.html index.htm;
}
}
7. 重新加载Nginx
在修改Nginx配置文件后,记得重新加载Nginx以应用更改:
sudo systemctl reload nginx
通过以上步骤,您可以在Debian上使用Certbot实现Nginx的自动续期SSL证书。
以上就是关于“Debian上Nginx如何实现自动续期SSL”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm