一、下载插件
1、ARR
通过百度网盘分享的文件:requestRouter_amd64.msi
链接:https://pan.baidu.com/s/1qagwh4onJPUQDkS-cQ1OOA
提取码:mw2y
官网:https://www.iis.net/downloads/microsoft/application-request-routing
2、URL重写
通过百度网盘分享的文件:rewrite_amd64_zh-CN.msi
链接:https://pan.baidu.com/s/1d7MnpHxmi9G-rNoop57jrw
提取码:mw2y
官网:https://www.iis.net/downloads/microsoft/url-rewrite
二、IIS 负载均衡的核心配置步骤
1. 创建服务器组(Server Farm)
-
在 IIS 管理器中,右键点击 Server Farms → 选择 Create Server Farm。
-
输入服务器组名称(如
MyBackendServers
)。 -
ServerAddress是输入IP地址不包含端口。
- AdvancedSettings是配置端口。
2. 配置负载均衡策略
-
选择创建的服务器组,进入 Load Balance 设置。
-
负载均衡算法:
-
Weighted Round Robin
:按权重分配请求(默认权重相同)。 -
Least Current Request
:将请求分发给当前处理请求最少的服务器。 -
Weighted Total Traffic
:基于服务器流量权重的分配。
-
3. 设置会话保持(可选)
-
若应用需要保持会话(如登录状态),启用 Client Affinity:
-
在服务器组设置中勾选
Client Affinity
。 -
选择基于
Cookie
或IP
的会话保持。
-
4. 配置反向代理规则
在 IIS 的网站中,通过 URL Rewrite (URL重写)模块将请求路由到服务器组:
模式:比如 ^xiaofeiji(/.*)?$ 是匹配带有xiaofeiji的子目录路径http://localhost:8001/xiaofeiji/index.html
重写URL:
1、负载均衡组:http://POS{R:1}
2、重定向页面:http://114.132.217.242:18005{R:1}
三、在 IIS 的 URL Rewrite 模块中,{R:1}
和 {R:0}
是用于引用正则表达式捕获组的变量。它们的区别在于引用的捕获组不同:
1. {R:0}
的含义
-
{R:0}
表示 整个匹配的字符串。 -
无论正则表达式中是否有捕获组,
{R:0}
始终表示匹配的完整内容。
示例:
假设 URL 为 /xiaofeiji/123
,正则表达式为 ^xiaofeiji(/.*)?
:
-
{R:0}
的值是/xiaofeiji/123
。
2. {R:1}
的含义
-
{R:1}
表示正则表达式中 第一个捕获组 的内容。 -
捕获组是通过
()
定义的,{R:1}
对应第一个()
中的内容。
示例:
假设 URL 为 /xiaofeiji/123
,正则表达式为 ^xiaofeiji(/.*)?
:
-
(/.*)?
是第一个捕获组。 -
{R:1}
的值是/123
。
3. 区别对比
变量 | 含义 | 示例(URL: /xiaofeiji/123 ) |
---|---|---|
{R:0} |
整个匹配的字符串 | /xiaofeiji/123 |
{R:1} |
第一个捕获组的内容 | /123 |