下面给你一个**在 Debian 系统上部署 Nginx + SSL(HTTPS)**的完整、常用、可落地方案,适合生产环境。
example.com
www.example.com
指向你的服务器公网 IP
sudo apt update
sudo apt install -y nginx
启动并设置开机自启:
sudo systemctl enable nginx
sudo systemctl start nginx
测试:
curl http://服务器IP
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com
✅ 过程中会:
⚠️ 如果自动配置失败,可手动配置(见下文)
/etc/letsencrypt/live/example.com/
├── fullchain.pem
├── privkey.pem
sudo nano /etc/nginx/sites-available/example.com
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
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;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
root /var/www/example.com;
index index.html index.php;
location / {
try_files $uri $uri/ =404;
}
}
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Let’s Encrypt 证书 90 天有效期
sudo certbot renew --dry-run
Certbot 已自动添加 cron / systemd timer:
sudo systemctl status certbot.timer
✅ 正常情况下无需手动操作
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable
sudo ss -lntp | grep 443
检查:
✅ 原因通常是:
如果你愿意,可以告诉我:
我可以给你完全定制化的配置 ✅