如何用Windows NLB配置多主机名的443端口(SSL)多站点负载均衡?
Windows Server 2016 NLB 配置实现多主机头负载均衡
一、前置准备
- 在Server A和Server B上均安装**网络负载平衡(NLB)**功能:
打开服务器管理器 → 添加角色和功能 → 功能列表中勾选“网络负载平衡” → 完成安装。 - 确认SSL证书覆盖需求域名:确保现有证书包含
app.local、anotherapp.local(或使用通配符证书*.local),否则HTTPS访问会出现证书错误。
二、配置后端IIS站点绑定
需要给两台服务器上的对应站点添加统一主机头的HTTPS绑定:
- Server A操作:
- 打开IIS管理器 → 找到
app1.local站点 → 右键“编辑绑定”。 - 添加新绑定:类型选HTTPS,端口443,主机头填
app.local,选择对应SSL证书 → 确定。 - 对
anotherapp1.local站点重复上述操作,主机头填anotherapp.local。
- 打开IIS管理器 → 找到
- Server B操作:
- 打开IIS管理器 → 找到
app2.local站点 → 添加HTTPS绑定,主机头app.local,选择同证书 → 确定。 - 对
anotherapp2.local站点添加HTTPS绑定,主机头anotherapp.local。
- 打开IIS管理器 → 找到
三、创建NLB集群
- 启动网络负载平衡管理器,右键左侧“网络负载平衡集群” → 选择“新建集群”。
- 连接Server A:
- 输入Server A的主机名 → 点击“连接” → 选择用于NLB的网卡 → 下一步。
- 设置主机参数:
- 确认主机优先级(比如Server A设为1,后续加入的Server B设为2) → 下一步。
- 添加集群IP:
- 点击“添加” → 输入集群IP(例如
192.168.1.100)及对应子网掩码 → 下一步。
- 点击“添加” → 输入集群IP(例如
- 设置集群参数:
- 集群完整名称可自定义(如
nlb-cluster.local) → 集群操作模式选择多播(避免ARP冲突) → 下一步。
- 集群完整名称可自定义(如
- 配置端口规则(核心步骤):
- 先删除默认的80端口规则,然后添加两个443端口规则:
规则1:匹配
app.local流量- 端口范围:443-443,协议选TCP
- 筛选模式:多个主机,负载均衡模式选“加权”或“最少连接”(按需选择)
- 点击“编辑” → 切换到“筛选器”标签 → 勾选“启用主机头筛选”,输入
app.local - 客户端亲和性:按需设置(“无”适合无状态应用,“单一”保留会话)
规则2:匹配
anotherapp.local流量- 端口范围:443-443,协议选TCP
- 筛选模式:多个主机,负载均衡模式同规则1
- 点击“编辑” → 勾选“启用主机头筛选”,输入
anotherapp.local - 客户端亲和性按需设置
- 先删除默认的80端口规则,然后添加两个443端口规则:
- 点击“完成”,完成集群创建。
四、将Server B加入NLB集群
- 在NLB管理器中,右键已创建的集群 → 选择“添加主机到集群”。
- 输入Server B的主机名 → 点击“连接” → 选择对应网卡 → 下一步。
- 设置主机优先级(比如设为2) → 下一步。
- 确认端口规则同步到Server B → 点击“完成”。
五、配置DNS解析
在本地DNS服务器中创建两条A记录:
app.local→ 指向NLB集群IP(如192.168.1.100)anotherapp.local→ 指向同一NLB集群IP
六、测试验证
- 用客户端访问
https://app.local,查看流量是否按负载均衡规则分发到Server A和Server B; - 同理访问
https://anotherapp.local,验证流量分发到anotherapp1.local和anotherapp2.local对应的服务器。
内容的提问来源于stack exchange,提问作者user3447062
相关产品推荐
相关产品推荐

