You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

两台Web服务器负载均衡场景下haproxy.cfg配置语法咨询

问题解答

1. 权重配置是否符合需求

不符合。
Haproxy的roundrobin算法会按照后端服务器权重占总权重的比例分配流量:当前配置两台服务器权重总和为70+30=100,流量分配比例为70%:30%,和你要求的70:20(对应比例约77.8%:22.2%)不匹配。
如果要达到你的需求,只需把第二台服务器的weight值改为20即可,修改后配置如下:

server  {{ server2Name }} {{ server2IP }} check weight 20

2. {{ Port }}变量是否需要手动指定

你的配置是基于Ansible角色的模板语法,变量取值规则如下:

  • 你已经在vars/main.yml中定义了Port取hostvars['node1']['ansible_port']的值,如果你提前在Ansible inventory清单中给node1节点配置了ansible_port=80,就不需要额外手动指定。
  • 如果inventory中没有配置对应的ansible_port参数,你可以选择两种方式修改:一是在inventory中给node1补充ansible_port=80变量,二是直接把vars/main.yml中的Port值改为固定值Port: 80。

3. 80端口的配置范围

需根据业务链路区分:

  • 负载均衡前端必须配置80端口:也就是frontend main段的bind参数需绑定80,才能接收外部发向负载均衡80端口的业务请求。
  • 后端是否需要配置80,取决于两台Web服务器的服务端口:如果Web服务器自身是用80端口提供HTTP服务,你需要在backend app的server配置行补充端口标识,示例如下:
server  {{ server1Name }} {{ server1IP }}:80 check weight 70
server  {{ server2Name }} {{ server2IP }}:80 check weight 20

如果Web服务器用的是其他端口(比如8080),就替换为对应的端口即可。

  • 管理服务器不需要配置80端口,它仅负责执行Ansible部署任务,不处理业务流量。

额外注意:你当前提供的backend配置中,server行没有指定后端端口,属于不完整配置,运行会报错,请务必补充对应端口。

内容的提问来源于stack exchange,提问作者Futurex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 05:51:02