IIS URL重写转发到其他端口

bvjxkvbb  于 2022-11-12  发布在  其他
关注(0)|答案(1)|浏览(515)

我想在IIS中托管多个API,这些API都应可通过标准http端口80访问。然后,IIS应在内部将此请求转发到其他某个本地端口,例如:
请访问以下网址:
请访问以下网址:
我试图通过使用URLRewrite和以下规则来实现这一点

据我所知我所做的一切
a)匹配任何请求
B)检查查询字符串是否与/bosswrapper/(.)匹配,并将(.)内容放在{C:1}中
c)将请求替换为http://本地主机:12345/{C:1}
因此这意味着应该将http://somehost/bosswrapper/foo/bar更改为。
当我直接调用http://localhost:12345/foo/bar时,一切都正常,而当我调用http://somehost/bosswrapper/foo/bar时,一切都不正常。

tquggr8v

tquggr8v1#

请访问:http://somehost/bossrapper/foo/bar-〉http://localhost:12345/foo/bar
您的重写规则不完全正确,请在web.cofig中尝试以下重写规则:

<rewrite>
        <rules>
            <rule name="my rule">
                <match url="bosswrapper/(.*)" />
                <action type="Rewrite" url="http://localhost:12345/{R:1}" />
            </rule>
        </rules>
    </rewrite>

服务器变量QUERY_STRING匹配URL的参数字符串,不应用于匹配URL的路径部分。
此外,还应在主机名为somehost的站点上创建重写规则。

相关问题