[英]Deploying ASP.NET Core 2.1 React App on IIS server
我正在尝试通过本地 IIS 系统托管默认的 React 应用程序。
配置如下
我已经安装了先决条件,即 asp.net core 2.1 托管包和运行时。
当我发布应用程序时,它的目录如下
我所做的托管配置:
但是当我在浏览器上运行该应用程序时,它显示 404 错误,它没有找到该应用程序。
但是,对于 ASP.NET CORE 2.0,它使用相同的配置。
这个 ASP.NET CORE 2.1 是否删除了对此类应用程序的支持?
我已经浏览了所有可能的论坛,但没有一个提到如何使用 React-Redux 模板托管 2.1 应用程序。
请帮忙
我想我发现了问题。 这是 ASP.NET CORE 2.1 的默认项目附带的 https 启用配置。
当我将它托管在 IIS 服务器上时,它正在将其重定向到 https url,但没有为 IIS 协议配置 IIS。
为了我的需要,我从 StartUp.cs 文件的Configure
方法中删除了 HTTPS 重定向
删除了app.UseHttpsRedirection()
它现在正在重定向到 HTTP
我有一个类似的问题,它与同时发布两个项目有关。 这对我有用:
npm run build
PS确保该项目在IIS中标记为应用程序如果需要,请为该项目启用目录浏览如果它不在IIS服务器的根目录中,请确保在package.json
设置homepage
这对我有用。
构建文件夹中的 web.config 看起来像这样
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="React 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="/dynamotoolsapi" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
/dynamotoolsapi 恰好是我整个 .net 解决方案所在的目录,因此相应地更改您的。
不,您不需要或不想删除构建文件夹,而必须在服务器上执行此操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.