Nginx 基础与反向代理原理
大多数应用并不是直接暴露给公网,而是先由 Nginx 接住请求,再转给后端进程。
反向代理链路
graph LR
A[浏览器] --> B[Nginx: 80/443]
B --> C[应用进程: 3000/8000]
C --> D[响应]
为什么需要 Nginx
| 能力 | 作用 |
|---|---|
| 统一入口 | 让应用不用直接暴露公网端口 |
| TLS 终止 | HTTPS 在 Nginx 层处理 |
| 静态文件 | 提高静态资源访问效率 |
| 反向代理 | 将流量转给应用 |
最小配置示例
server {
listen 80;
server_name app.example.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
常见误区
- 让应用直接监听公网端口
- 忘记转发真实客户端 IP
- 只会复制配置,不理解请求转发路径
本节执行清单
- [ ] 安装并启动 Nginx
- [ ] 配置一个反向代理站点
- [ ] 用
curl -I验证请求能到后端应用
下一节:多站点、静态文件与 TLS 接入——让 Nginx 真正变成生产入口。