IIS 重定向页面+反向代理
一、下载插件
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 |
浙公网安备 33010602011771号