参考资料

  1. Nginx集群负载(基于LVS和Keepalived)搭建详细说明以及案例
  2. Nginx在负载均衡中的角色
  3. nginx 配置域名
  4. nginx的用法
  5. Nginx伪流媒体服务器搭建详细说明以及案例
  6. NginxPHP服务器环境搭建详细说明以及案例
  7. Nginx编译安装详细说明以及案例
  8. nginx 配置https

Nginx反向代理概述

Nginx作为反向代理时,接收客户端请求并转发到后端服务器,再将响应返回给客户端,隐藏了真实服务器信息。

核心配置步骤

  1. 安装Nginx

  2. 修改nginx.conf或在conf.d/添加配置文件

  3. 配置server块定义代理规则

  4. 重载Nginx配置

完整配置示例

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

        location / {
            proxy_pass http://backend_server;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            
            # 可选调优参数
            proxy_connect_timeout 60s;
            proxy_read_timeout 60s;
            proxy_send_timeout 60s;
            proxy_buffering off;
        }
    }

    upstream backend_server {
        server 192.168.1.100:8080 weight=5;
        server 192.168.1.101:8080;
        server 192.168.1.102:8080 backup;
    }
}

关键指令说明

  1. proxy_pass: 指定后端服务器地址

  2. proxy_set_header: 传递原始请求头信息

  3. upstream: 定义服务器组实现负载均衡

  4. 超时参数控制连接/读写时限

应用场景

  • 负载均衡

  • HTTPS终止

  • 缓存静态内容

  • A/B测试路由