具有多个规则的IIS反向代理

问题描述 投票:0回答:1
<rewrite>
        <rules>
            <rule name="ReverseProxyInboundRule1" stopProcessing="true">
                <match url="^a/(.*)" />
                <action type="Rewrite" url="http://localhost:8086/{R:1}" />
            </rule>
            <rule name="ReverseProxyInboundRule2" stopProcessing="true">
                <match url="^b/(.*)" />
                <action type="Rewrite" url="http://localhost:8085/{R:1}" logRewrittenUrl="true" />
            </rule>
        </rules>
    </rewrite>

[在任何时间点,只有一个规则有效,而另一个规则却产生404错误。如果http://localhost/a/xxx有效,则http://localhost/b/yyy会显示404错误。

iis url-rewriting reverse-proxy arr
1个回答
0
投票

这两个规则在我的环境中并存。您是否收到404.4错误?如果是这样,请安装应用程序请求路由并在IIS管理器->服务器节点->应用程序请求路由缓存->服务器代理设置->启用代理中启用转发代理。

https://www.iis.net/downloads/microsoft/application-request-routing

enter image description hereenter image description hereenter image description here

如果不能解决问题,请启用失败的请求跟踪并发布您所看到的内容。

https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/using-failed-request-tracing-to-trace-rewrite-rules

© www.soinside.com 2019 - 2024. All rights reserved.