中间件速查手册
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 的。

它出现在这些中间件里

相关概念