微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

IIS URL 重写规则转发到 api

如何解决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>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。