如何部署具有IIS授权的ASP.NET Core / React应用?

时间:2019-08-20 21:36:31

标签: reactjs authentication asp.net-core iis web-deployment

将具有身份验证的ASP.NET Core 3.0 / React应用程序部署到客户端的IIS Web服务器并获得HTTP错误500.0-ANCM进程内处理程序加载失败错误。如何正确部署此应用?

我没有足够的声誉点来发布8个以上的链接,因此我不得不排除在解决此问题时使用的帖子和文档的链接。

我对ASP.NET Core,IIS,证书和部署是完全陌生的,因此我不确定如何正确部署此应用程序。我可能无法正确实施证书设置,但是我不确定这是否是实际问题。

这是我的流程:

我使用以下方法创建了应用程序:

$ dotnet new react -o output_directory_name -au个人

按照Microsoft文档中的说明进行操作。

我将项目从Visual Studio发布到本地文件夹。这是web.config file。客户端已经创建了一个网站,因此我将发布的文件复制到该站点的文件夹中。

我使用youtube视频和关于SO的另一篇文章,尝试设置网站的证书要求。我不相信我对它们的设置是否正确。

这里有一些屏幕截图,说明了如何设置项目和站点。我用红色的虚拟值替换了敏感值,并试图在一个值出现多次的情况下保持一致。

appsettings.json文件。我已经根据其他帖子和文档尝试了许多“密钥”条目。不确定我应该为“名称”输入什么值。我还尝试将“密钥”设置为文件,如另一篇SO文章所述。

我正在尝试部署的website和服务器证书。

客户已经set获得了该网站的证书。

Details的证书。

SSL settings(该网站)。这是我第一次尝试部署时的设置。在尝试运行应用程序时,我选中了“需要SSL”并尝试了各种“客户端证书”选项。

AspNetCoreModuleV2托管软件包已安装。

Application pool的应用设置。

我已经圈了好几天,所以任何帮助都将不胜感激。

谢谢!

2 个答案:

答案 0 :(得分:0)

使用事件查看器(希望我早一点了解这一点),当应用启动时,我能够找到并查看错误。这使我有些不安,最终导致将所有Micorsoft软件包更新为3.0 Preview 8版本(并等待客户端更新主机捆绑包)。引用应用程序设置中的键时也出现错误。我认为格式可能已关闭,因为我通过json格式器将其放入,然后它起作用了。

答案 1 :(得分:0)

  1. web.config的格式

     <?xml version="1.0" encoding="utf-8"?>
     <configuration>
       <location path="." inheritInChildApplications="false">
         <system.webServer>
           <handlers>
             <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
           </handlers>
           <aspNetCore processPath="dotnet" arguments=".\MyApp.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
     </system.webServer>
    
  2. 构建您的应用

  3. 将您的应用程序发布到某个文件夹

  4. 创建一个网站,它将自动将ppol添加到应用程序池WebsiteCreation

  5. 编辑应用程序池,将.net版本修改为无托管代码 edit pool edit version