Nginx 反向代理入门:一台服务器挂多个网站
服务器上跑了博客、面板、几个小工具?用 Nginx 反代按域名分发,一台机器对外就是一个整洁的入口。
基础写法
server {
listen 443 ssl;
server_name app.example.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}WebSocket 支持
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";常见坑
- 忘了传 Host 头,应用路由判断出错
- client_max_body_size 太小,上传大文件报 413
- HTTPS 在 Nginx 终结,后端应用要用 X-Forwarded-Proto 判断协议