下面以 Debian(如 Debian 11/12) 为例,讲解如何 部署 Nginx 并配置 SSL(HTTPS),包括自签证书和可信证书(Let’s Encrypt)两种方式。
sudo apt update
sudo apt install nginx -y
安装完成后:
sudo systemctl enable nginx
sudo systemctl start nginx
浏览器访问服务器 IP,能看到 Nginx 欢迎页即正常。
sudo apt install ufw
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d example.com -d www.example.com
按提示输入邮箱、同意协议即可。
sudo certbot renew --dry-run
Certbot 会自动修改 Nginx 配置,启用 HTTPS。
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
按提示填写信息(Common Name 填域名或 IP)。
编辑站点配置:
sudo nano /etc/nginx/sites-available/default
示例配置:
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 nginx -t
sudo systemctl restart nginx
访问 https://你的IP或域名,浏览器会提示“不安全”(自签证书正常现象)。
sudo tail -n 50 /var/log/nginx/error.log
| 场景 | 推荐方式 |
|---|---|
| 公网网站 | Let’s Encrypt |
| 内网/测试 | 自签证书 |
| 自动化 | Certbot |
如果你需要:
可以直接告诉我你的使用场景。