在IIS中重写URL,以便不同的域基于URL调用多个服务

yacmzcpb  于 2023-01-13  发布在  其他
关注(0)|答案(1)|浏览(162)

我有多个服务在域www.example.com上的服务器上运行abc.com,并且我的Web应用程序在不同的服务器xyz.com上运行。我有一个要求,其中我需要以这样的方式编写urlrewrite:如果我键入

  • xyz.com/service1-〉它应该调用在abc.com上运行的service 1:1234,如果i键入
  • xyz.com/service2-〉它应该调用/重定向到运行在abc.com:5678上的service 2,以此类推。

如何写的网址重写为它?
我使用的是IIS版本10 Windows Server 2022

uujelgoq

uujelgoq1#

您可以尝试使用反向代理,以下情况可作为参考:

<rewrite>
  <rules>
    <rule name="Reverse Proxy to service1" stopProcessing="true">
        <match url="(.*)" />
          <conditions>
            <add input="{SERVER_PORT}" pattern="1234" />
          </conditions>
        <action type="Rewrite" url="http://x.com/service1" />
    </rule>
    <rule name="Reverse Proxy to service2" stopProcessing="true">
        <match url="(.*)" />
          <conditions>
            <add input="{SERVER_PORT}" pattern="5678" />
          </conditions>
        <action type="Rewrite" url="http://x.com/service2" />
    </rule>
  </rules>
</rewrite>

更多信息,请参考此链接:Reverse Proxy with URL Rewrite v2 and Application Request Routing .

相关问题