Nginx中正向代理,反向代理,负载均衡应用场景分析

 更新时间:2025年11月27日 09:38:32   作者:小熊officer  
文章介绍了nginx中反向代理、正向代理和负载均衡的概念,通过实际场景解释了它们的工作原理和特点,感兴趣的朋友跟随小编一起看看吧

1. 🔄 反向代理

情景:
顾客想买手机,他走到购物中心前台问:"手机店在哪?"
前台说:"您稍等,我帮您联系",然后前台去后面的手机店取来手机交给顾客。

技术解释:

  • 顾客不知道后面有多少家手机店,也不知道具体是哪家为他服务
  • 前台(Nginx)代表后面的店铺(服务器)为顾客服务
  • 客户不知道真正的服务提供者
# Nginx 配置示例
server {
    listen 80;
    server_name shopping-mall.com;
    location /phone-shop/ {
        # 将请求转发给后端的手机店
        proxy_pass http://real-phone-shop:8080;
    }
    location /clothing-shop/ {
        # 将请求转发给后端的服装店
        proxy_pass http://real-clothing-shop:8081;
    }
}

特点: 隐藏真实服务器,保护后端,统一入口

2. 🎯 正向代理

情景:
顾客想访问一个被限制的国外网站(比如某些外网),但他无法直接访问。
于是他找了一个"代理服务"(比如VPN),让代理帮他去访问那个网站,然后把内容传回来。

技术解释:

  • 顾客主动使用代理
  • 网站不知道真正的访问者是谁,只知道代理在访问它
  • 服务器不知道真正的客户端
# 正向代理配置(Nginx 也可以做,但较少用)
server {
    listen 3128;  # 代理端口
    resolver 8.8.8.8;
    location / {
        # 允许客户端通过此服务器访问外部网络
        proxy_pass http://$http_host$request_uri;
    }
}

特点: 突破访问限制,隐藏客户端身份

3. ⚖️ 负载均衡

情景:
购物中心有三家一模一样的手机店(卖同样商品)。
前台看到很多顾客都要买手机,于是:

  • 把第一个顾客指引到1号店
  • 把第二个顾客指引到2号店
  • 把第三个顾客指引到3号店
  • 把第四个顾客又指引到1号店...

技术解释:

  • 将大量请求分配到多个相同的服务器上
  • 避免单个服务器过载
  • 提高整体处理能力
# Nginx 负载均衡配置
upstream phone_shops {
    # 定义三家手机店(后端服务器)
    server 192.168.1.101:8080 weight=3;  # 权重3,处理更多请求
    server 192.168.1.102:8080 weight=2;  # 权重2
    server 192.168.1.103:8080 weight=1;  # 权重1
}
server {
    listen 80;
    server_name shopping-mall.com;
    location /phone-shop/ {
        # 将请求负载均衡到三家店
        proxy_pass http://phone_shops;
    }
}

特点: 分摊压力,提高可用性,扩展性

🎯 一句话总结

概念谁被代理?为谁服务?一句话理解
反向代理服务器客户端"帮服务器接客" - 客户找代理,代理找真服务器
正向代理客户端客户端"帮客户跑腿" - 客户让代理去访问目标
负载均衡多个服务器系统整体"客流分配员" - 把客户平均分给多个服务点

🔧 实际应用场景

反向代理常见用途:

  • 网站入口网关
  • API 网关
  • SSL 终端(HTTPS解密)

正向代理常见用途:

  • 公司内网代理
  • 科学上网工具
  • 内容过滤

负载均衡常见用途:

  • 电商网站大促时
  • 高流量应用
  • 微服务架构

到此这篇关于Nginx中正向代理,反向代理,负载均衡的文章就介绍到这了,更多相关nginx正向代理,反向代理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Nginx重启失败排查与解决方案

    Nginx重启失败排查与解决方案

    在Linux系统中,NGINX作为高性能的Web服务器和反向代理服务器,广泛应用于各类生产环境中,然而,作为一款强大而灵活的工具,NGINX也常常面临一些常见的故障问题,尤其是在重启过程中遇到错误,本文将详细讲解NGINX重启失败的排查与解决方案,需要的朋友可以参考下
    2025-04-04
  • Nginx转发丢失cookie表现形式及解决方案

    Nginx转发丢失cookie表现形式及解决方案

    本文主要介绍了Nginx转发丢失cookie表现形式及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Nginx解决转发地址时跨域的问题

    Nginx解决转发地址时跨域的问题

    这篇文章主要介绍了Nginx实现转发地址解决跨域问题的方法,文中介绍的很详细,对大家的学习具有一定的参考借鉴价值,有需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-01-01
  • Nginx 启动脚本/重启脚本代码

    Nginx 启动脚本/重启脚本代码

    Nginx 启动脚本 重启脚本,学习使用centos配置服务器的朋友可以参考下。
    2010-10-10
  • Nginx $remote_addr和$proxy_add_x_forwarded_for变量的实现

    Nginx $remote_addr和$proxy_add_x_forwarded_for变量的实现

    本文主要介绍了Nginx $remote_addr和$proxy_add_x_forwarded_for变量的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08
  • Nginx服务器搭建和基本配置详解

    Nginx服务器搭建和基本配置详解

    这篇文章主要介绍了Nginx服务器搭建和基本配置详解,Nginx是事件驱动的高性能服务器,需要的朋友可以参考下
    2015-09-09
  • Nginx端口telnet不通排查过程及解决

    Nginx端口telnet不通排查过程及解决

    Nginx配置20002端口失败,因SELinux权限及防火墙阻止,解决需调整SELinux策略、开放防火墙端口,重启服务并测试本地与远端访问
    2025-07-07
  • nginx安装并转发socket服务实现方式

    nginx安装并转发socket服务实现方式

    文章指导如何安装编译工具、PCRE和Nginx,并通过修改配置文件添加stream块实现端口转发,将9999/801端口分别映射至9988/1557端口
    2025-07-07
  • Nginx 防止目录遍历的方法实现

    Nginx 防止目录遍历的方法实现

    目录遍历攻击是一种常见的Web安全漏洞,本文主要介绍了Nginx防止目录遍历的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-12-12
  • Linux查看nginx安装目录和配置文件路径的实现

    Linux查看nginx安装目录和配置文件路径的实现

    本文主要介绍了Linux查看nginx安装目录和配置文件路径的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-01-01

最新评论