繁体   English   中英

在 IIS 服务器上部署 ASP.NET Core 2.1 React App

[英]Deploying ASP.NET Core 2.1 React App on IIS server

我正在尝试通过本地 IIS 系统托管默认的 React 应用程序。

配置如下

  • 视觉工作室 2017
  • IIS 10
  • 64位操作系统
  • ASP.NET 核心 2.1

我已经安装了先决条件,即 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

我有一个类似的问题,它与同时发布两个项目有关。 这对我有用:

  1. 将 ASP.Net Core 应用程序发布到本地文件夹
  2. 删除ClientApp中的build文件夹
  3. 压缩已发布的文件夹并将其复制到 IIS 服务器上所需的位置
  4. 在服务器上解压项目
  5. 从 Client App 文件夹中运行命令npm run build

PS确保该项目在IIS中标记为应用程序如果需要,请为该项目启用目录浏览如果它不在IIS服务器的根目录中,请确保在package.json设置homepage

这对我有用。

  1. 它是 2008 Windows Server - 不理想,但将应用程序池设置为非托管代码
  2. 我在 2.2 应用程序中有 React 16.8。
  3. 切换到使用生产设置发布构建 -发布
  4. 更改 package.json 以使主页指向正确的位置
  5. 将 web.config 文件添加到重写模块的 ClientApp/build 文件夹

构建文件夹中的 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM