在 Debian 上使用 Nginx 配置 SSL 证书,常见有两种获取方式:免费证书(Let’s Encrypt) 和 商业/手动证书。下面按最常用场景给你讲。
sudo apt update
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d example.com -d www.example.com
把
example.com换成你的域名
域名必须已解析到该服务器 IP
Certbot 会自动添加定时任务,也可手动测试:
sudo certbot renew --dry-run
证书路径(默认):
/etc/letsencrypt/live/example.com/fullchain.pem/etc/letsencrypt/live/example.com/privkey.pem通常需要:
example.com.crt(证书)example.com.key(私钥)ca_bundle.crtsudo mkdir -p /etc/nginx/ssl
sudo cp example.com.crt /etc/nginx/ssl/
sudo cp example.com.key /etc/nginx/ssl/
编辑站点配置:
sudo nano /etc/nginx/sites-available/example.com
示例:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
location / {
root /var/www/html;
index index.html;
}
}
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
sudo nginx -t
sudo systemctl restart nginx
sudo ufw allow 443
如果你愿意,可以告诉我:
我可以直接帮你写完整配置。