IIS -重写URL虚拟URL

kjthegm6  于 2023-10-19  发布在  其他
关注(0)|答案(1)|浏览(133)

我有两个用net framework 4.5编写的web应用程序。第一个是前端应用程序,第二个是后端应用程序,它公开了一些API。这两者位于两个独立的域上,也位于不同的端口上。第一个应用程序使用jquery调用第二个应用程序的API。这样,浏览器必须能够到达两个域和两个端口。相反,我希望浏览器只到达前端和IIS转发与URL重写到后端。要做到这一点,我希望jquery在一个不是真实的而是虚拟的路径上调用与前端相同的域,例如/API,虚拟的,因为在前端没有包含资源的API文件夹,所有对/API的请求都被转发到后端。我写了下面的规则,但我得到了http错误502

<rules>
        <rule name="Rewrite API requests" enabled="true">
          <match url="^api/(.*)$" />
          <conditions>
            <add input="{REQUEST_URI}" pattern="^/api/" />
          </conditions>
          <action type="Rewrite" url="http://api.dominio.local/api/{R:1}" />
        </rule>
    </rules>
0pizxfdo

0pizxfdo1#

要在IIS上设置反向代理,您需要安装应用程序请求路由模块。
安装所需软件后,请按照以下步骤操作。

  • 打开IIS管理器。
  • 在左侧的“连接”窗格中选择您的服务器。
  • 在中间窗格中,双击应用程序请求路由缓存。
  • 单击右侧的“服务器代理设置”。
  • 选中“启用代理”框并单击“应用”。

启用代理后,清除浏览器缓存并再次尝试重写规则,看看它是否有效。

相关问题