我的应用程序在本地运行良好但我在Azure Web App上部署时遇到错误:
The specified CGI application encountered an error and the server terminated the process.
我的应用是.NET Core 2.0 Web API,没有wwwroot文件夹。我检查了this question,解决方法对我不起作用,而且它是关于不同的.NET Core版本。我的应用程序从字节数组创建X509Certificate2
的实例,我很确定它在这里失败了。我需要动态管理X509Certificates - 不能将证书上传到Web App。
我也在Microsoft Docs中找到了这个:
早期Kestrel版本的已知问题可能会导致ASP.NET 在App Service中托管的Core 1.0应用程序间歇性停止 响应。您还可能会看到此消息:“指定的CGI 应用程序遇到错误,服务器终止了 过程。“
此问题已在Kestrel 1.0.2版中修复。这个版本 包含在ASP.NET Core 1.0.3更新中。要解决此问题, 确保您更新应用程序依赖项以使用Kestrel 1.0.2。 或者,您可以使用描述的两种解决方法之一 在博客文章中,在App Service Web中发布了ASP.NET Core 1.0慢速性问题 应用
我相信我使用了来自nuget package的最新版本的Kestrel依赖项:
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
我还尝试重新创建Web App以确保没有垃圾,我使用最新的一切。我该如何解决?有什么想法吗?
答案 0 :(得分:0)
我认为这可能是由于启动代码中缺少 UseIISIntegration 调用引起的。
Azure Web Apps 基于 IIS ,因此在托管运行 Kestrel 的 ASP.Net Core 时,则需要此集成,以允许 IIS 充当服务的反向代理。
希望有帮助!
答案 1 :(得分:0)