IIS URL 重写规则转发到 api

问题描述

我在同一台服务器上托管 vue.js 和 asp.net 核心。 我的管理员只允许通过端口 443/https 获取流量。 因此,我试图让 ReverseProxy(?) 运行。

所有到 https://pim.test.de 的流量都应该转到这个 web.config站点。但是流向包含 /api/链接的流量,例如 https://pim.test.de/api/service/getinfoall 应转发到端口 44310 上的站点,该站点可访问 ASP.net 核心应用程序。所以在内部它应该将请求重新路由到 https://pim.test.de:44310/api/service/getinfoall

我做错了什么?

  <system.webServer>
    <rewrite>
      <rules>

        <rule name="redirecting to port 44310">
          <match url="/api/(.*)" />
          <action type="Rewrite" url="https://pim.test.de:44310/api/{R:1}" logRewrittenUrl="true" />
        </rule>
      </rules>
    </rewrite>

解决方法

@Lex Li 有正确的解决方案。我只需要删除 \ 标记中 api 之前的 match

 <system.webServer>
    <rewrite>
      <rules>
        <rule name="redirecting to port 44310">
          <match url="api/(.*)" />
          <action type="Rewrite" url="https://pim.test.de:44310/api/{R:1}" logRewrittenUrl="true" />
        </rule>
      </rules>
    </rewrite>