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
posted @ 2025-03-20 13:05  lzy1666  阅读(131)  评论(0)    收藏  举报