Nginx 中负载均衡怎么配置在多网卡服务器中实现高可靠出口调度

秋瑶吖_7342

秋瑶吖_7342

2026-08-30

850人浏览

原创

必须用 proxy_bind 在 upstream 块中绑定出口 ip,配合健康检查、超时控制及 keepalived vip 实现高可靠调度;多 upstream 可按后端区域分组绑定不同出口 ip。

nginx 中负载均衡怎么配置在多网卡服务器中实现高可靠出口调度

在多网卡服务器上配置 Nginx 负载均衡,实现高可靠出口调度,核心是两件事:一是让发往后端的流量从指定网卡(即固定源 IP)发出,避免系统默认路由导致出口不一致;二是确保该出口策略在故障或扩容时依然稳定生效。关键不在“多网卡”本身,而在于精准控制反向代理连接的源地址,并与健康检查、高可用机制协同。

用 proxy_bind 绑定出口 IP,优先写在 upstream 块中

proxy_bind 指令专门用于指定 Nginx 向后端发起连接时使用的本地源 IP,它只影响 outbound 连接,不影响监听或接收请求。Nginx 1.19.10 及以上版本支持直接在 upstream 块中配置,这是最清晰、最可靠的写法:

  • 所有后端节点统一走同一出口 IP,配置一次即可,无需在每个 location 里重复设置
  • 即使 upstream 内部节点动态增减或权重调整,出口 IP 仍保持不变
  • 示例:
    upstream app_cluster {
      proxy_bind 10.10.20.50;
      server 172.16.5.10:8080 weight=3;
      server 172.16.5.11:8080 weight=3;
      server 172.16.5.12:8080 backup;
    }

为不同后端网络区域分配专属出口 IP

当后端部署在跨云、专线或隔离子网中,且各区域要求白名单绑定特定源 IP 时,可按后端归属分组定义多个 upstream,并各自绑定对应出口 IP:

Nginx Config Linter
Nginx Config Linter

对 Nginx 配置文件进行语法检查、验证和安全、性能审计。

下载
  • aws_backend 使用 203.0.113.10 出口,aliyun_backend 使用 203.0.113.11 出口
  • 配合 location 路由规则,将 /aws/ 请求打到 aws_backend,/aliyun/ 打到 aliyun_backend
  • 这样既满足合规要求,又避免出口 IP 冲突或被对端拒绝

搭配健康检查与超时控制,防止出口失效引发雪崩

仅绑定出口 IP 不够——若该网卡宕机、IP 失效或路由不通,Nginx 默认仍会尝试连接,可能造成超时堆积。需同步加固:

  • 为每个 server 行显式配置 max_fails=3 fail_timeout=30s,让不可达节点快速下线
  • 启用主动健康检查(如 nginx_upstream_check_module),用 HTTP 探活验证后端连通性及出口路径有效性
  • 设置 proxy_connect_timeout 3s 和 proxy_read_timeout 15s,避免因出口链路异常拖慢整个 upstream
  • 注意:proxy_bind 绑定失败时 Nginx 会报错并拒绝 reload,因此上线前务必确认该 IP 已在对应网卡上配置且可达

与 Keepalived 高可用联动,保障出口调度不单点

如果出口 IP 是业务白名单关键标识,还需防止单台 Nginx 故障导致出口中断。此时应将 proxy_bind 与 VIP 架构结合:

  • Keepalived 管理一个虚拟 IP(如 10.10.20.100),漂移在两台 Nginx 节点间
  • 两台 Nginx 的 upstream 均 proxy_bind 该 VIP(而非物理网卡 IP)
  • 主节点故障时,VIP 漂移,新主节点继续用同一出口 IP 发起连接,后端无感知
  • 注意:VIP 必须配置在 loopback 接口,并开启 net.ipv4.conf.all.arp_ignore=1 和 arp_announce=2,确保响应 ARP 正确

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

nginx

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

417

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

860

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2532

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

856

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

749

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

394

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2276

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4192

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

687

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpEnv手册
phpEnv手册

共0课时 | 0人学习

nginx手册
nginx手册

共0课时 | 0人学习

进程与SOCKET
进程与SOCKET

共6课时 | 0.5万人学习