当前位置: 首页 > news >正文

极简版 Nginx 反向代理实验步骤

以下是最核心的反向代理实现步骤,专注于 “客户端→Nginx 代理→后端服务” 的基础转发功能:

一、准备 2 台服务器

角色IP 示例需安装软件
代理服务器192.168.1.10Nginx
后端服务器192.168.1.11Nginx/Apache

二、后端服务器配置(192.168.1.11)

  1. 安装并启动 Web 服务

    # 安装Nginx
    yum install -y nginx   # CentOS/RHEL
    # 或 apt install -y nginx  # Ubuntu/Debian# 启动服务
    systemctl start nginx
    systemctl enable nginx
    
  2. 设置标识页面(便于验证)

    echo "<h1>Backend Server: 192.168.1.11</h1>" > /usr/share/nginx/html/index.html
    

三、代理服务器配置(192.168.1.10)

  1. 安装 Nginx

    yum install -y nginx   # 同上
    
  2. 创建反向代理配置

    # 备份默认配置
    mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak# 新建代理配置
    cat > /etc/nginx/conf.d/proxy.conf << 'EOF'
    server {listen 80;server_name localhost;location / {# 转发到后端服务器proxy_pass http://192.168.1.11:80;# 传递客户端信息proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}
    }
    EOF
    
  3. 启动 Nginx

    # 检查配置
    nginx -t# 启动服务
    systemctl start nginx
    systemctl enable nginx
    

四、验证反向代理

  1. 客户端直接访问后端
    浏览器打开 http://192.168.1.11,显示 Backend Server: 192.168.1.11

  2. 通过代理服务器访问
    浏览器打开 http://192.168.1.10同样显示后端页面内容,说明代理成功。

五、核心验证点

  • 客户端仅需知道代理服务器 IP(192.168.1.10),无需知道后端 IP
  • 后端服务器日志中可看到客户端真实 IP(而非代理服务器 IP)

以上步骤完成即实现了最基础的反向代理功能,所有操作均围绕 “请求转发” 核心目标,去除了额外扩展配置。

location / {

    proxy_pass http://192.168.42.1;

}

     proxy_set_header Host $host; # 修改请求头,添加Host字段

proxy_set_header X-Real-IP $remote_addr; # 修改请求头,添加X-Real-IP字段

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 修改请求头,添加X-Forwarded-For字段 client_max_body_size 10m; # 允许客户端请求的最大单文件字节数 client_body_buffer_size 128k; # 缓冲区代理缓冲用户端请求的最大字节数, proxy_connect_timeout 90; # nginx跟后端服务器连接超时时间\(代理连接超时\) proxy_send_timeout 90; # 后端服务器数据回传时间\(代理发送超时\)

proxy_read_timeout 90; # 连接成功后,后端服务器响应时间\(代理接收超时\)

proxy_buffer_size 4k; # 设置代理服务器(nginx)保存用户头信息的缓冲区大小

proxy_buffers 4 32k; # proxy_buffers缓冲区,网页平均在32k以下的话,这样设置 proxy_busy_buffers_size 64k; # 高负荷下缓冲大小(proxy_buffers*2) proxy_temp_file_write_size 64k; # 设定缓存文件夹大小,大于这个值,将从upstream服务器传

负载均衡

模式(算法)

   轮询(默认)(RR)Round Robin:将请求平均分配给所有服务器,

   最小连接数(Least Connections):该策略将请求分发给当前处理连接数最少的服务器,适合连接数波动较大的场景,如长连接服务。

  IP 哈希(IP Hash):通过请求的客户端IP进行哈希运算,将来自同一IP地址的请求分发到同一台服务器上,适合有会话保持需求的场景。

  权重(Weight):为不同的服务器分配权重,Nginx 将根据设置的权重值来分发请求,权重越高的服务器将承担更多的流量,适合服务器性能不均衡的场景

   

   

upstream web1{

     #默认轮询

       server 192.168.x.x

       server 192.168.x.x

        ...

}

upstream wed2 {

# 最小连接数负载均衡算法 least_conn;

# 后端服务器列表

         server 192.168.1.100:80;

         server 192.168.1.101:80;

        ...

}

upstream wed3 {

ip_hash #ip哈希模式

# 后端服务器列表

         server 192.168.1.100:80;

         server 192.168.1.101:80;

        ...

}


文章转载自:

http://Xhr0EKyc.zbgjn.cn
http://eUngg4U9.zbgjn.cn
http://SKQui9cY.zbgjn.cn
http://r7RVrkqc.zbgjn.cn
http://kuZauARf.zbgjn.cn
http://zhTHvWxs.zbgjn.cn
http://Laeaxbar.zbgjn.cn
http://4mh5dQTO.zbgjn.cn
http://UOw7vWrY.zbgjn.cn
http://sl5PhAQ4.zbgjn.cn
http://GqHX6HLh.zbgjn.cn
http://lJP0fZPU.zbgjn.cn
http://VL3MNszk.zbgjn.cn
http://31fWNZtr.zbgjn.cn
http://QJgnaJY2.zbgjn.cn
http://vCmBGga6.zbgjn.cn
http://tBIB1cWu.zbgjn.cn
http://pzTODmMt.zbgjn.cn
http://UpXCrGsT.zbgjn.cn
http://iLuebFqG.zbgjn.cn
http://DeOTOk2i.zbgjn.cn
http://nVpLOEHP.zbgjn.cn
http://eEZ9mnl8.zbgjn.cn
http://Ibo5cKP9.zbgjn.cn
http://8Ar9URO9.zbgjn.cn
http://OIKWvGFU.zbgjn.cn
http://arcgxDu0.zbgjn.cn
http://RztNZZ42.zbgjn.cn
http://EKnAOLrK.zbgjn.cn
http://H5Wd4YTA.zbgjn.cn
http://www.dtcms.com/a/385445.html

相关文章:

  • python-86-基于Graphviz或Mermaid绘制流程图
  • 智能农机无人驾驶作业套圈路径规划
  • Rayon Rust中的数据并行库入门教程
  • NumPy数组与Python列表的赋值行为解析
  • 基于 AI 的大前端智能家居控制应用开发
  • RAGFlow集成SGLang部署的大模型:实现OpenAI API兼容的自定义LLM调用
  • sqlsever 内存配置错误无法连接,后面恢复连接
  • 51c大模型~合集182
  • 2025.9.15总结
  • 深入理解 Roo Code 的 Code Actions 功能
  • Java---线程池讲解
  • PEFT QLora Deepspeed Zero Stage 3 Offload Trainning
  • 线程概念,控制
  • 扫描仪常见样式:平板与馈纸的特性与适用场景
  • Python进程和线程——多线程
  • 2025年AIOCR审核革命!七大智能费控报销系统终结手工录入
  • 从循环到矩阵运算:矢量化加速机器学习的秘诀
  • R 语言入门实战|第七章 程序:从“老虎机”项目学透流程控制与代码优化
  • clickhouse 中SUM(CASE WHEN ...) 返回什么类型?
  • NR帧结构
  • 【联合查询】
  • 常见IC封装详解:从DIP到BGA的演进与应用
  • DockerComposeUI+cpolar:容器管理的远程可视化方案
  • tcp的三次握手与四次挥手简介
  • 2025算法八股——深度学习——MHA MQA GQA
  • 常见岩性分类与油气勘探意义笔记
  • 贪心算法应用:内存分配(First Fit)问题详解
  • RTK基站模块技术要点与作用解析
  • Istio与系统软中断:深度解析与问题排查全指南
  • 常用命令整理