Web 服务器Reverse Proxy
反向代理 是什么?
替后端接请求再转发,客户端以为只有一台服务器
类比:公司前台,访客不用知道员工坐在哪
正向 vs 反向
正向代理替客户端发请求(翻墙、公司出口代理),服务端不知道真实客户端是谁;反向代理替服务端接请求,客户端不知道真实服务器是哪台。
反向代理能做什么
它不只转发,还是流量治理的入口。
- 负载均衡:把请求分给多台后端
- TLS 终止:证书只在入口配一份
- 静态资源、gzip、缓存:不占用应用资源
- 限流、黑白名单、灰度分流
- 隐藏后端拓扑,提升安全性
必须转发的头
proxy_set_header Host $host; X-Real-IP $remote_addr; X-Forwarded-For $proxy_add_x_forwarded_for; X-Forwarded-Proto $scheme; 少了这些,后端拿到的客户端 IP 全是 Nginx 的。