Nginx正向代理与反向代理详解

 更新时间:2025年07月24日 09:12:28   作者:喝醉酒的小白  
Nginx正向代理帮助客户端访问外部资源,常用于翻墙和隐藏IP;反向代理将外部请求转发至内网服务器,用于负载均衡、统一入口及安全隔离,两者核心区别在于代理对象(客户端vs服务端)和目的(访问外部vs服务优化)

当然可以,以下是对 Nginx 正向代理与反向代理 的详细解析,包括概念、工作机制、配置示例、使用场景和区别等内容,适用于开发、运维及网络基础学习场景。

Nginx正向代理与反向代理

一、什么是代理(Proxy)?

代理是一种网络服务,客户端通过代理服务器间接访问目标资源。根据请求的方向不同,代理分为:

类型说明
正向代理代理客户端访问外部资源(“我替你去”)
反向代理代理外部用户访问内部服务器(“你来找我,我替你找它”)

二、正向代理(Forward Proxy)

定义:

客户端并不直接访问目标服务器,而是把请求交给代理服务器,由代理服务器转发请求并返回响应。

工作流程:

[客户端] → [Nginx正向代理] → [目标服务器]
                             ↓
                    [响应返回到客户端]

使用场景:

  • 访问被屏 蔽的网站(如科学上网)
  • 客户端隐藏真实 IP
  • 缓存加速访问外部内容

示例配置(Nginx):

# nginx.conf
events {}

http {
    server {
        listen 8888;

        resolver 8.8.8.8;

        location / {
            proxy_pass $scheme://$http_host$request_uri;
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
}

使用方式(客户端设置代理):

浏览器或 curl 设置代理为:http://<nginx-ip>:8888

三、反向代理(Reverse Proxy)

定义:

客户端访问代理服务器,代理根据配置将请求转发到后端真实服务器(Upstream),客户端无感知。

工作流程:

[客户端] → [Nginx反向代理] → [后端服务器]
                            ↓
                   [响应返回到客户端]

使用场景:

  • 实现负载均衡
  • 实现 HTTPS 网关 / TLS 卸载
  • 内网服务暴露给公网
  • 提供统一入口,隐藏真实服务器结构

示例配置(Nginx):

http {
    upstream backend {
        server 192.168.1.101:8080;
        server 192.168.1.102:8080;
    }

    server {
        listen 80;

        location / {
            proxy_pass http://backend;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
}

四、正向 vs 反向代理对比总结

比较项正向代理(Forward Proxy)反向代理(Reverse Proxy)
代理的对象客户端服务器(后端)
请求目标客户端指定的外部网站内部真实服务
常用目的帮助客户端访问目标保护服务器、统一入口
客户端感知明确知道自己使用了代理无需知道后端结构
配置位置客户端需配置代理服务端配置即可
应用场景翻墙、匿名访问、绕过限制负载均衡、内网服务暴露、缓存

五、反向代理的扩展应用

功能说明
负载均衡多个后端服务器自动轮询分发流量
HTTPS 网关客户端连接为 HTTPS,后端可为 HTTP
安全隔离仅暴露代理,隐藏真实服务 IP
静态 + 动态分离静态资源由 Nginx 提供,动态由后端处理
缓存优化可配置缓存减少后端负载(如 CDN)

六、附加示例:基于域名转发

server {
    listen 80;
    server_name www.example.com;

    location / {
        proxy_pass http://192.168.1.100:8080;
    }
}

server {
    listen 80;
    server_name api.example.com;

    location / {
        proxy_pass http://192.168.1.200:8081;
    }
}

总结一句话

  • 正向代理 是“我找别人帮我出去”,常用于“访问外部”;
  • 反向代理 是“别人来找我,我帮他找内部”,常用于“服务入口统一、隐藏后端”。

如果你还想了解:

  • 正反向代理中的缓存策略
  • 配合 HTTPS 的配置方式
  • 与防火墙 / DNS / CDN 的协同机制
    我也可以继续补充。是否需要一张图帮助你更直观理解两者结构?

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解Nginx服务器的nginx-http-footer-filter模块配置

    详解Nginx服务器的nginx-http-footer-filter模块配置

    这篇文章主要介绍了Nginx服务器的nginx-http-footer-filter模块配置,nginx-http-footer-filter用作在请求的页面底部插入代码,需要的朋友可以参考下
    2016-01-01
  • nginx模块stream配置的具体使用

    nginx模块stream配置的具体使用

    stream模块一般用于tcp/UDP数据流的代理和负载均衡,可以通过stream模块代理转发TCP消息,本文主要介绍了nginx模块stream配置的具体使用,感兴趣的可以了解一下
    2023-10-10
  • 详解nginx使用ssl模块配置支持HTTPS访问

    详解nginx使用ssl模块配置支持HTTPS访问

    这篇文章主要介绍了详解nginx使用ssl模块配置支持HTTPS访问,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • 权限问题导致Nginx 403 Forbidden错误的解决方法

    权限问题导致Nginx 403 Forbidden错误的解决方法

    这篇文章主要介绍了权限问题导致Nginx 403 Forbidden错误的解决方法,本文中导致 403 Forbidden错误的原因是配置文件中没有指明一个用户,需要的朋友可以参考下
    2014-08-08
  • Nginx超时时间的配置说明

    Nginx超时时间的配置说明

    Nginx超时时间非常重要,因为它将直接影响网站的响应速度和用户体验,本文主要介绍了Nginx超时时间的配置说明,具有一定的参考价值,感兴趣的可以了解一下
    2024-07-07
  • 关于Nginx开启gzip的配置的问题

    关于Nginx开启gzip的配置的问题

    这篇文章主要介绍了关于Nginx开启gzip的配置的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • 图文详解Nginx版本平滑升级方案

    图文详解Nginx版本平滑升级方案

    Nginx平滑升级就是指在不停止业务的前提下,实现对Nginx软件版本的升级,下面这篇文章主要给大家介绍了关于Nginx版本平滑升级方案的相关资料,需要的朋友可以参考下
    2021-09-09
  • 使用nginx方式实现http转换为https的示例代码

    使用nginx方式实现http转换为https的示例代码

    这篇文章主要介绍了使用nginx方式实现http转换为https的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • nginx查看连接数的几种方法小结

    nginx查看连接数的几种方法小结

    nginx作为目前最流行的web服务器之一,在许多生产环境都能看到他的踪影,有时候,我们需要统计nginx的连接配置,本文主要分享一下如何统计nginx的连接数,需要的朋友可以参考下
    2024-02-02
  • Nginx在Windows下的安装及环境配置(将nginx作为服务运行)

    Nginx在Windows下的安装及环境配置(将nginx作为服务运行)

    这篇文章主要介绍了Nginx在Windows下的安装及环境配置,主要是将nginx作为服务运行,需要的朋友可以参考下
    2018-11-11

最新评论