五月 23, 2026指南
如何设置 Nginx 反向代理
通过 Nginx 代理 Node.js、Docker 等应用,支持 WebSocket 与 VPS SSL。

反向代理让 Nginx 接收公网 HTTP/HTTPS 流量并转发到后端(如 localhost:3000 的 Node.js、Docker 容器、Python API)。这是 Hiddence VPS 生产部署的必备配置。
前提条件
- Nginx 已安装并运行
- 后端在 localhost 监听(如 127.0.0.1:3000)
- 域名已指向 VPS(用于 SSL)
- 防火墙已开放 80 和 443 端口
基本反向代理配置
为域名创建站点配置:
bash
server {
listen 80;
server_name app.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
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;
}
}
sudo nginx -t && sudo systemctl reload nginxWebSocket 支持
Socket.io、许多仪表盘和实时应用需要:
bash
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}使用 Certbot 添加 HTTPS
HTTP 正常后申请免费证书:
bash
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d app.yourdomain.com
# Certbot will update your server block for SSL automatically提示
- 流式/SSE 可按需设置 proxy_buffering off
- 为文件上传设置 client_max_body_size
- 多个后端可用不同子域名
- 多后端负载均衡使用 upstream 块
- 出现 502 Bad Gateway 时查看 error.log