在IIS上部署Angular-REST调用时出现问题

时间:2019-05-29 16:23:19

标签: angular iis asp.net-core

我是Angular,webAPI和IIS的新手,我遇到了有关部署的问题: 因此,我有了一个有角度的前端,在webapi core 2.2中调用了RESTful服务。 让我提前告诉您问题所在:从Angular到RESTful服务的内部调用被某些内容阻止了,我不知道该如何解决。这是详细信息

我在IIS(在我们的Web服务器上)中创建了一个站点。我将其应用程序池设置为“无托管代码”。构建了生产版本,并将其移至Web服务器。下载了“ URL Rewrite”模块,按照我在这里所说的进行了配置,包括web.config:https://devblogs.microsoft.com/premier-developer/tips-for-running-an-angular-app-in-iis/(请参见下面的Web配置)

该图显示了如何配置URL重写。您还可以在那里看到我的网站“ Argonaut”有一个名为REST的子目录(我创建了一个虚拟目录……我认为那是必要的……?只有在将常规目录转换为虚拟目录后,该目录才起作用) 现在,来自Angualr客户端的REST调用类似于: http:/// rest / api / suppliergeneralchecks

但是它们被重新路由,我假设由于Angular路由\ URL RE-WRITE模块\我的web.config文件的某种组合),错误是:

  

错误错误:未捕获(承诺):错误:无法匹配任何路由。   网址段:“ rest / api / suppliergeneralchecks”错误:无法匹配任何   路线。

我的猜测是,我需要在某个地方使REST URL成为路由的例外...对吗?也许在web.config中的某个地方?

非常感谢!

<configuration>
<system.webServer>
  <rewrite>
    <rules>
      <rule name="Angular Routes" stopProcessing="true">
        <match url=".*" />
        <conditions logicalGrouping="MatchAll">
          <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
          <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        </conditions>
        <action type="Rewrite" url="/MyApp/" />
        <!--<action type="Rewrite" url="/" />-->
      </rule>
    </rules>
  </rewrite>
</system.webServer>
</configuration>

enter image description here

0 个答案:

没有答案