在Debian系统上使用Nginx和Let’s Encrypt SSL证书可以按照以下步骤进行:
Certbot是一个自动化的工具,用于获取、安装和管理Let’s Encrypt SSL证书。
sudo apt update
sudo apt install certbot python3-certbot-nginx
使用Certbot获取SSL证书。假设你的域名是example.com。
sudo certbot --nginx -d example.com -d www.example.com
Certbot会自动配置Nginx并重启服务以应用新的SSL配置。
Certbot会自动验证你的域名是否可以通过HTTP访问。如果一切正常,它会自动完成证书的颁发。
Let’s Encrypt的证书有效期为90天,因此需要设置自动续期。
Certbot会在证书到期前30天自动尝试续期。你也可以手动触发续期:
sudo certbot renew --dry-run
如果没有错误,说明续期成功。你可以手动触发续期:
sudo certbot renew
如果你需要手动配置Nginx以使用SSL证书,可以编辑Nginx配置文件。通常配置文件位于/etc/nginx/sites-available/目录下。
sudo nano /etc/nginx/sites-available/example.com
添加或修改以下内容:
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;
root /var/www/html;
index index.html index.htm;
location ~ /\.ht {
deny all;
}
}
保存并退出编辑器,然后测试Nginx配置:
sudo nginx -t
如果没有错误,重启Nginx服务:
sudo systemctl restart nginx
确保你的防火墙允许HTTP(80)和HTTPS(443)流量。
sudo ufw allow 'Nginx Full'
使用浏览器访问你的域名,确保SSL证书正确安装并且网站可以通过HTTPS访问。
通过以上步骤,你应该能够在Debian系统上成功使用Nginx和Let’s Encrypt SSL证书。