【问题标题】:How can I deploy an ASP.NET Web API with React frontend to IIS?如何将带有 React 前端的 ASP.NET Web API 部署到 IIS?
【发布时间】:2021-09-22 16:08:53
【问题描述】:

我正在尝试将带有 .NET Web API 后端的 React 应用程序部署到 IIS。为了让反应应用程序显示出来,我将“主页”属性添加到我的 package.json 中,例如“主页”:“/testapp/”。客户端应用程序正常工作和路由,但对 api 的任何请求只是再次返回反应应用程序而不是 json 数据。当我使用 IIS Express 在 Visual Studio 中本地启动应用程序时,一切正常。当我部署应用程序的所有 api 时,我的路由例如 /testapp/api/logs 不再返回数据(/api/logs 返回 404)。有没有人知道在部署到 IIS 时如何处理客户端与后端路由?

【问题讨论】:

  • IIS中的后端是否返回数据?
  • 确保已经将 react 应用中的本地后端 URL 更新为服务器上后端的 URL
  • 这是一个身份验证问题。这个答案stackoverflow.com/questions/59954754/… 引导我走上了正确的道路。但在我的情况下,它不是应用程序身份池,我只需要将 IIS 中站点的身份验证从匿名更改为 Windows 身份验证。

标签: asp.net reactjs iis asp.net-web-api


【解决方案1】:

这是与数据字符串的连接问题。我添加了一个测试控制器,发现 api 正在成功返回静态数据。当它试图访问数据库时,它会返回 index.html 作为异常。我将 IIS 中网站的身份验证从匿名更改为 Windows 身份验证,现在我的 API 返回数据。

【讨论】:

  • blog.lextudio.com/… 您应该注意根本的区别。 Windows 身份验证可能会有所帮助,但并不总是正确的解决方案。您应该看看使用正确的应用程序池标识是否更好。
猜你喜欢
  • 2023-03-28
  • 1970-01-01
  • 2013-04-15
  • 2012-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-28
  • 2019-01-06
相关资源
最近更新 更多