【发布时间】:2020-08-23 08:47:17
【问题描述】:
对于请求位于“/api/”文件夹中的任何站点,我想将任何请求反向代理到 IIS 实例。我设置了一个服务器场,并使用“*”通配符让反向代理为所有内容工作,但是当我想将范围限制为 RegEx 时,它不会重写/代理到后端服务器。我在 IIS 实例级别采取的步骤:
- 设置网络场 - 其中只有一台服务器 machine2
- 为“*”设置重写
- 针对“http://machine1/site1/api/api1”进行测试 - 已成功路由到 machine2/site1/api/api1
- 将入站规则从通配符更改为正则表达式
- 将模式更改为 '.(/./api/.*)'(不带单引号)
- 针对“http://sarjhennew10vm/site1/api/api1”进行测试
- 请求未路由到机器 2。
下面是我的 applicationHost.config [IIS 的根目录] 中的一个 sn-p。
<rewrite>
<globalRules>
<rule name="ARR_Farm1_loadbalance" patternSyntax="ECMAScript" stopProcessing="true">
<match url=".*(\/.*\/api\/.*)" />
<action type="Rewrite" url="http://Farm1/{R:1}" />
</rule>
</globalRules>
</rewrite>
<proxy enabled="true" />
是否可以为特定文件夹的实例上的任何站点将全局 URL 重写到服务器场?
编辑:下面已回答 - 我附上一张图片以防其他人遇到此问题。测试模式对我来说并不清楚 - 并且计数器文档 found here。
【问题讨论】:
标签: iis url-rewriting reverse-proxy