基于ARR+NLB的IIS集群多端口路由配置咨询
基于ARR+NLB的IIS集群多端口路由配置咨询
您好,针对您遇到的ARR仅能路由80/443端口、无法转发其他指定端口的问题,我来给您梳理下可行的配置方案——其实ARR本身完全支持多端口转发,只是默认仅配置了HTTP/HTTPS的端口规则,咱们只需要手动扩展配置即可:
一、先确保ARR服务器监听目标端口
首先要让ARR服务器本身能接收到目标端口的请求,这是转发的前提:
- 打开IIS管理器,选中ARR服务器节点(不是具体站点),右键点击绑定
- 点击添加,新建端口绑定:
- 类型根据服务协议选
http或https - IP地址选择NLB的虚拟IP(或选
全部未分配) - 端口填写需要转发的目标端口(比如8080、8081)
- 如果是HTTPS,记得选择对应的SSL证书
- 类型根据服务协议选
- 重复操作,为所有需要转发的端口添加绑定
二、配置ARR服务器场的端口转发规则
接下来要让ARR把对应端口的请求精准转发到后端IIS:
- 打开IIS管理器,进入服务器场,找到您指向IIS01、IIS02的目标服务器场
- 左侧菜单点击代理,确认启用代理已勾选
- 左侧菜单点击路由规则,右侧点击添加规则:
- 规则名称自定义(比如
Port 8080 转发规则) - 在匹配URL区域:
- 请求路径选
与模式匹配,模式填*,勾选忽略大小写 - 点击添加条件,设置条件输入为
{SERVER_PORT},匹配类型选等于,模式填8080
- 请求路径选
- 在操作区域:
- 动作类型选
路由到服务器场,选择您的目标服务器场 - 点击服务器场设置,勾选
转发原始主机头(如果后端IIS需要通过主机头识别站点) - 关键步骤:点击高级,在转发端口处填写后端IIS对应的端口(和前端端口一致就填相同值,不一致就填后端实际端口)
- 动作类型选
- 规则名称自定义(比如
- 重复上述步骤,为每个需要转发的端口创建独立规则(比如8081的转发规则)
三、后端IIS与NLB的配套配置
- 后端IIS:确保IIS01、IIS02上的目标站点已经绑定了对应端口,同时防火墙允许ARR服务器访问这些端口
- NLB集群:打开NLB管理器,找到您的集群,右键规则→新建规则:
- 集群IP选择NLB虚拟IP
- 端口范围填写需要转发的端口(比如8080-8080,多端口需分别添加)
- 协议选
TCP(对应HTTP/HTTPS服务) - 筛选模式选
多主机,关联性根据业务需求选择(需要会话保持选单一,否则选无) - 确认规则状态为
已启用
关于URL重写的补充说明
您之前尝试URL重写没成功,大概率是因为没针对端口做条件匹配,或者未正确配置转发端口。上面的ARR路由规则是基于自带的路由模块实现的,比单纯的URL重写更适配端口转发场景,配置逻辑也更清晰。
如果需要批量配置大量端口,也可以直接修改ARR的applicationHost.config配置文件来批量添加规则,但手动在IIS管理器里配置更直观,不容易出错。
备注:内容来源于stack exchange,提问作者LevanM
相关产品推荐
相关产品推荐

