蓝易云cdn:upstream的两种配置方式

Linux命令

蓝易云cdn:upstream的两种配置方式

2026-02-26 00:01


可以,upstream 在 Nginx 里你可以从实战角度理解成 两种配置方式:直接转发(不单独写 upstream 块) 和 定义 upstream 服务器组后再转发。前者简单,后者更适合生产环境扩展。⚙️ 方式一:直接在 location 里写 proxy_pass(适合单后端、快速上线)

                                            




可以,upstream 在 Nginx 里你可以从实战角度理解成 两种配置方式直接转发(不单独写 upstream 块) 和 定义 upstream 服务器组后再转发。前者简单,后者更适合生产环境扩展。⚙️

方式一:直接在 location 里写 proxy_pass(适合单后端、快速上线)

server {
    listen 80;
    server_name _;

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

这种方式的特点 ✅

  • 配置最短,维护成本低
  • 适合单台后端服务(如一个 Java、Node、PHP-FPM 网关)
  • 改起来快,但后端一多就容易乱

每段关键解释

  • proxy_pass http://127.0.0.1:8080;:直接把请求转发到指定后端
  • Host / X-Real-IP / X-Forwarded-For:把原始域名和真实客户端 IP 传给后端,方便日志、鉴权、风控

Nginx 官方文档明确支持在 location 中直接使用 proxy_pass 转发到目标服务器。(nginx.org)


方式二:先定义 upstream 组,再在 proxy_pass 中引用(适合生产)

http {
    upstream backend_app {
        server 10.0.0.11:8080;
        server 10.0.0.12:8080;
        # server 10.0.0.13:8080 backup;   # 备用节点(可选)
        keepalive 32;
    }

    server {
        listen 80;
        server_name _;

        location / {
            proxy_pass http://backend_app;
            proxy_http_version 1.1;
            proxy_set_header Connection "";

            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_set_header X-Forwarded-Proto $scheme;
        }
    }
}

这种方式的特点 🚀

  • 适合多台后端做负载分担
  • 扩容方便(加一行 server 即可)
  • 可叠加权重、备机、失败重试等策略(后续升级空间大)

每段关键解释

  • upstream backend_app { ... }:定义一个后端服务器组
  • server 10.0.0.11:8080;:组内节点
  • keepalive 32;:复用到后端的连接,减少频繁建连开销
  • proxy_pass http://backend_app;:把请求转发给这个组,而不是某台固定机器

Nginx 官方 ngx_http_upstream_module 说明了 upstream 用于定义可被 proxy_pass 等指令引用的服务器组。(nginx.org)


怎么选(务实版)

  • 单服务 / 测试环境 / 临时代理:用方式一,快
  • 多服务 / 容器编排 / 高并发业务:用方式二,更稳、更易扩展

一句话结论

“直接 proxy_pass”是轻量方案,upstream 服务器组是生产方案。
你现在如果在做 Docker 或蓝易云业务代理入口,建议优先按 方式二 做,后面加节点、做高可用时不会返工。😄

顺手提醒一个常见坑:upstream 是放在 http 上下文里的,不是随便放在 server 或 location 里,不然 Nginx 会直接报配置错误。


标签:
  • 蓝易云cdn
  • upstream