反向代理
反向代理(Reverse Proxy)是部署在服务端前方的中间层:客户端请求先到达反向代理,由它转发给后端的真实服务,再把响应返回给客户端。客户端只知道反向代理的地址,后端架构对外完全透明。Nginx、Caddy、HAProxy 和各类云负载均衡都是典型的反向代理实现。
它的工作方式
反向代理与“科学上网”语境里的正向代理方向相反:正向代理代表客户端出去,反向代理代表服务端迎接请求。它承担的职责通常包括:TLS 终止(集中管理证书)、负载均衡(把流量分摊到多个后端)、缓存静态内容、压缩与安全防护(限流、WAF 联动)、以及灰度路由(按规则把部分流量导向新版本)。对单机部署,反向代理还能让多个域名/服务共享 80/443 端口。选型上,Caddy 以自动 HTTPS 和极简配置见长,Nginx 以生态与高并发调优资料见长,具体对比可参考站内的 Caddy vs Nginx 对比页。
示例
- 1.一台服务器上跑三个服务,用 Nginx 按域名把它们分流到不同端口
- 2.HTTPS 证书统一在反向代理层终止,后端服务只处理 HTTP
- 3.网站扩容到多台后端时,用反向代理做负载均衡与健康检查