在 Debian 下配置 Nginx 反向代理 的步骤如下,适用于常见场景(如把请求转发到后端服务、Node.js / Java / Python 服务、或另一个 Web 服务器)。
sudo apt update
sudo apt install nginx -y
安装完成后:
sudo systemctl status nginx
推荐方式:新建一个站点配置文件
sudo nano /etc/nginx/sites-available/reverse-proxy
server {
listen 80;
server_name example.com; # 改成你的域名或 IP
location / {
proxy_pass http://127.0.0.1:8080;
# 常用反向代理头
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
✅ 说明:
proxy_pass:后端服务地址proxy_set_header:传递真实客户端信息sudo ln -s /etc/nginx/sites-available/reverse-proxy /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
location / {
proxy_pass https://127.0.0.1:8443;
proxy_ssl_verify off; # 本地证书可关闭验证
}
location /ws/ {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location / {
proxy_pass http://127.0.0.1:8000;
}
location /static/ {
root /var/www/html;
expires 30d;
}
location /api/ {
proxy_pass http://api.example.com/;
}
⚠️ 注意 /api/ 末尾是否带 /,会影响转发路径。
# 查看错误日志
sudo tail -f /var/log/nginx/error.log
# 查看访问日志
sudo tail -f /var/log/nginx/access.log
# 重载配置(不中断服务)
sudo nginx -s reload
sudo ufw allow 'Nginx Full'
✅ Debian 下 Nginx 反向代理的核心就是:
proxy_pass http://后端地址;
proxy_set_header 传递头信息;
如果你有具体场景(如 Docker / HTTPS / 负载均衡 / 多服务路由),可以告诉我,我可以给你更精确的配置。