我有两个用 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>