将具有身份验证的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的应用设置。
我已经圈了好几天,所以任何帮助都将不胜感激。
谢谢!
答案 0 :(得分:0)
使用事件查看器(希望我早一点了解这一点),当应用启动时,我能够找到并查看错误。这使我有些不安,最终导致将所有Micorsoft软件包更新为3.0 Preview 8版本(并等待客户端更新主机捆绑包)。引用应用程序设置中的键时也出现错误。我认为格式可能已关闭,因为我通过json格式器将其放入,然后它起作用了。
答案 1 :(得分:0)
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>
构建您的应用
将您的应用程序发布到某个文件夹
创建一个网站,它将自动将ppol添加到应用程序池WebsiteCreation
中编辑应用程序池,将.net版本修改为无托管代码 edit pool edit version