反向代理(Reverse Proxy)是部署在服务器一侧的代理服务器,代替后端服务器接收客户端请求并返回资源,客户端只看到代理的 IP 而不知道背后的真实服务器,常用于负载均衡、隐藏源站、HTTPS 卸载和缓存加速。

| 类型 | 网络架构 / 代理服务器 |
| 常见实现 | Nginx、Caddy、HAProxy、Traefik |
| 典型用途 | 负载均衡、隐藏源站、HTTPS 卸载、缓存加速 |
| 对应概念 | 正向代理(Forward Proxy) |
| 相关技术 | CDN、WAF、网关 |
反向代理(Reverse Proxy)是代理服务器的一种,它站在服务器一侧接收客户端请求,再从背后的一台或多台后端服务器取得资源返回给客户端,客户端全程只与代理打交道,并不知道真实服务器的存在。
普通的正向代理是替「客户端」出面:用户主动设置代理去访问外部网站,网站看到的是代理的地址。反向代理方向相反,是替「服务器」出面:用户以为自己直接访问了某个网站,实际上请求先到达反向代理,由它转发给内部的 Web 服务器、应用服务器等,再把结果原路返回。客户端只能得知反向代理的 IP 地址,后端服务器集群对外完全不可见。
这种「挡在前面」的架构让反向代理成为现代网站的标配组件:大型网站用它把流量分摊到成百上千台后端机器上;中小站长用它在一台服务器上通过域名区分多个网站;CDN 本质上也是一张分布在全球的反向代理网络。常见的实现有 Nginx、Caddy、HAProxy、Traefik 以及 Cloudflare 等云服务。
两者技术原理相似,区别在于服务对象和隐藏对象:正向代理由客户端配置,隐藏的是「谁在访问」;反向代理由网站方部署,隐藏的是「谁在提供服务」。日常说的翻墙代理属于正向代理,而网站前面的 Nginx、CDN 属于反向代理。
问:反向代理会拖慢网站速度吗?答:多一跳转发确实有微小开销,但代理带来的缓存、压缩和就近接入通常反而让整体访问更快,实际部署中利远大于弊。
问:反向代理和 CDN 是什么关系?答:CDN 可以理解为部署在全球各地节点上的反向代理集群,用户就近访问节点,由节点回源取内容,是反向代理思想的大规模应用。
问:自己建站需要反向代理吗?答:如果一台服务器要跑多个网站、需要统一配置 HTTPS 证书,或想隐藏源站 IP 防攻击,就很值得用 Nginx、Caddy 等做一层反向代理。

| 类型 | 网络架构 / 代理服务器 |
| 常见实现 | Nginx、Caddy、HAProxy、Traefik |
| 典型用途 | 负载均衡、隐藏源站、HTTPS 卸载、缓存加速 |
| 对应概念 | 正向代理(Forward Proxy) |
| 相关技术 | CDN、WAF、网关 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧