下面以 Debian + Nginx 为例,说明如何配置 SSL(HTTPS),包含自签证书和Let’s Encrypt 免费证书两种方式。
sudo apt update
sudo apt upgrade -y
sudo apt install nginx -y
sudo ufw allow 'Nginx Full'
sudo apt install certbot python3-certbot-nginx -y
假设你的域名是 example.com,并已解析到服务器 IP:
sudo certbot --nginx -d example.com -d www.example.com
按提示输入邮箱并同意协议,Certbot 会自动:
sudo certbot renew --dry-run
✅ Let’s Encrypt 证书有效期 90 天,会自动续期。
如果你使用 自签证书 或 第三方证书:
sudo mkdir -p /etc/nginx/ssl
sudo openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 \
-keyout /etc/nginx/ssl/nginx.key \
-out /etc/nginx/ssl/nginx.crt
编辑站点配置:
sudo nano /etc/nginx/sites-available/example.com
示例配置:
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
root /var/www/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
在 443 server 块中添加:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
如果你需要:
可以告诉我你的具体场景,我可以进一步细化配置。