在 Debian 上使用 Nginx 配置 SSL,通常分为 获取证书 和 配置 Nginx 两部分。下面以最常见、免费的 Let’s Encrypt(certbot) 为例说明,也会给出自签证书的方式。
sudo apt update
sudo apt install nginx certbot python3-certbot-nginx -y
确保你的域名(如 example.com)A 记录已指向服务器公网 IP。
sudo certbot --nginx -d example.com -d www.example.com
按提示输入邮箱、同意协议即可。
certbot 会自动:
sudo certbot renew --dry-run
如果你已有证书(fullchain.pem 和 privkey.pem):
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/certs/fullchain.pem;
ssl_certificate_key /etc/ssl/private/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
root /var/www/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
重载 Nginx:
sudo nginx -t
sudo systemctl reload nginx
sudo openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 \
-keyout /etc/ssl/private/nginx.key \
-out /etc/ssl/certs/nginx.crt
然后按上面的 Nginx 配置修改路径即可。
600如果你需要:
可以告诉我你的具体场景。