首页 > 服务器    日期:2026-07-14 / 浏览

NGINX是一款广泛使用的开源Web服务器和反向代理服务器,它也可以作为正向代理服务器使用。在理解NGINX的反向代理和正向代理的区别之前,我们首先需要了解这两种代理的基本概念。

先记核心口诀:
正向代理替「客户端」干活,反向代理替「服务端」干活

一、什么是正向代理(Forward Proxy)

核心定位

代理客户端,帮内网用户访问外网。

访问流程

客户端(你电脑) → Nginx正向代理服务器 → 外网目标网站

关键特点

  1. 客户端知道代理存在:需要手动在浏览器/系统配置代理地址;
  2. 隐藏客户端真实IP:外网服务器只能看到代理IP,看不到你的本机IP;
  3. 部署在客户端侧:为局域网内上网设备服务。

典型用途

  • 内网统一出口上网、校园网代理;
  • 访问受限外网资源;
  • 缓存外网资源、限速、过滤网址。

二、什么是反向代理(Reverse Proxy)

核心定位

代理服务端,对外统一入口,帮后端服务器接收用户请求。

访问流程

外网用户 → Nginx反向代理 → 内网后端真实服务(Tomcat/Java/Node/微服务)

关键特点

  1. 客户端完全无感知:用户以为Nginx就是最终的网站服务器,无需任何配置;
  2. 隐藏后端真实服务器:对外只暴露Nginx,内网服务IP、架构完全隐藏;
  3. 部署在服务器入口:作为网站/服务的网关。

典型用途

  • 负载均衡(分发请求到多台后端服务器);
  • 动静分离、接口转发、前后端分离;
  • 统一SSL证书、防护后端服务、限流防攻击。

三、核心区别一览表

对比维度正向代理反向代理
代理对象客户端发起请求后端服务接收请求
客户端感知需手动配置代理,知道有代理无任何配置,完全无感
隐藏对象隐藏客户端真实IP隐藏后端服务器IP/架构
网络位置靠近用户/内网侧靠近服务器/机房入口
访问方向内网 → 外网外网 → 内网服务
常用场景上网代理、翻墙、内网出口网站集群、负载均衡、网关转发

四、一句话极简总结

  1. 正向代理:我要上网,找代理帮我去访问别人,藏我自己
  2. 反向代理:别人来访问我的网站,Nginx挡在前面接待,藏我的后端服务器

日常开发中 99% 用的都是 Nginx 反向代理,正向代理很少用。

五、NGINX作为正向代理和反向代理的使用

NGINX可以作为正向代理:

  • 配置正向代理:‌ 在NGINX中配置正向代理通常涉及到修改http块中的proxy_pass指令,使其指向一个外部服务器的URL。例如,你可以设置一个特定的URL路径来通过NGINX访问外部网站。
  • 使用场景:‌ 这在需要绕过某些网络限制或进行内容过滤时非常有用。例如,在办公室或学校网络中使用公共正向代理访问被封锁的网站。

NGINX作为反向代理:

  • 配置反向代理:‌ 在NGINX中配置反向代理通常涉及到在server块中设置location指令,并使用proxy_pass指令指向内部服务器的地址。例如,你可以将所有到达特定端口的请求转发到内部的应用服务器。
  • 使用场景:‌ 这在负载均衡、SSL终止、缓存静态内容等方面非常有用。例如,一个网站可能有多个后端服务器,通过NGINX的反向代理可以实现请求的分发和负载均衡。

六、总结

  • 正向代理‌用于客户端访问受限资源。
  • 反向代理‌用于服务器前的请求分发和管理。

NGINX既可以作为正向代理也可以作为反向代理,这取决于你的具体需求和配置方式。通过适当的配置,你可以灵活地利用NGINX来满足不同的网络和应用需求。

觉得上面的内容有用吗?快来点个赞吧!

点赞() 我要打赏

温馨提示 : 本站内容来自会员投稿以及互联网,所有源码及教程均为作者总结编辑,请大家在使用过程中提前做好备份,以免发生无法预知的错误,源码类教程请勿直接用于生产环境!

 可能感兴趣的文章