在iis上部署的asp.net核心应用程序遇到500内部服务器错误

时间:2016-09-30 07:14:46

标签: c# iis asp.net-core

  

:(哎呀。   500内部服务器错误   启动应用程序时发生错误。

当我向我的asp.net核心应用程序添加数据库功能并将其部署到iis时,出现了此消息。当我在Visual Studio中开发它时,一切都很顺利。但部署后,出现此错误消息。

我尝试使用dotnet myapp.dll在部署文件夹中运行我的应用,发现它运行良好。问题可能与iis有关。我试图将<compilation debug="true">..</compilation>添加到web.config,但它似乎没用。实际上是什么问题,或者有没有其他方法可以查看详细的错误信息以帮助找出发生了什么?

10 个答案:

答案 0 :(得分:36)

  1. 更改stdoutLogEnabled =&#34; false&#34;为true,然后检查stdoutLogFile =&#34;。\ logs \ stdout&#34;中的日志。那里的错误可能会告诉你一些事情。

  2. 检查您是否使用ASPNETCORE_ENVIRONMENT环境变量设置了正确的环境名称,因此请使用连接字符串等正确的设置。默认情况下,您的计算机上有&#34;开发&#34;环境。

  3. 您可以使用Error Handling middlewares来显示

    等异常
    app.UseDeveloperExceptionPage();
    

答案 1 :(得分:5)

在我的情况下,我得到了这个,因为我实际上没有在我运行它的Windows服务器上安装最新的'DotNetCore.2.0.0-WindowsHosting.exe'所以它在我的本地工作正常机器在调试和错误五hundy'ing在服务器上。

我还有其他非常重要的问题来解决升级问题......如果可以,我建议你避免使用它。

答案 2 :(得分:5)

Mark333在下面的评论解决了我的问题。

报价以方便阅读:

  

“我正在使用Visual Studio提供的常规发布。而且,我只是   发现使用最新版本的Hosting Bundle可以修复   问题。对此+1   microsoft.com/net/download/dotnet-core/runtime-2.1.0-rc1“

由于我的应用程序较旧,因此我必须安装1.1版,但Hosting Bundle对其进行了修复。以我为例,我们为官方环境部署了一个Docker映像,但是当我想在本地进行一些测试时,我将其发布并让我的本地IIS为它提供服务。

答案 3 :(得分:2)

我有同样的问题。

我的问题是我与db的连接字符串未在appsettings.production.json中设置

内部服务器错误500是模糊的错误消息。

更改stdoutLogEnabled = true对我没有任何作用,所以我没有看到有关该错误的任何信息。

答案 4 :(得分:2)

答案 5 :(得分:1)

我在Windows 2008 R2 Standard计算机上安装了DotNetCore.2.0.5-WindowsHosting.exe,遇到了相同的http 500错误。记录没有帮助(生成空白日志 - 事件查看器日志是通用ErrorCode = 0x80070002

我必须做两件事来解决我的问题:

  1. 将ApplicationPoolIdentity用户(EG:IIS APPPOOL \ AppPoolIdentityName)的读取权限授予网站目录和应用程序目录
  2. 我必须在服务器管理器下安装IIS ASP Core(这感觉很奇怪,但它有效!)

答案 6 :(得分:0)

我遇到了这个问题。问题是由于我的本地Sql Server实例。不允许远程连接。因此,我手动重新启动了SQL实例,并且我的App重新正常运行了。

答案 7 :(得分:0)

在执行AWS ec2实例引导时使用Chocolatey安装dotnetcore-windowshosting之后,我遇到了类似的问题。

当我检查IIS模块时,缺少AspNetCoreModule。

这解决了我的问题。 https://github.com/aspnet/IISIntegration/issues/434

我必须卸载Chocolatey软件包,重新启动计算机,然后再次安装。

希望这会有所帮助!

答案 8 :(得分:0)

确保应用程序池对您的应用程序所在的文件夹具有权限。

答案 9 :(得分:0)

我强烈推荐一篇名为“配置 IIS、ASP.NET 和 SQL Server”的文章。 我按照那里描述的步骤操作,我的 asp.net 核心应用程序现在与我的 SQL 数据库通信(在发布到 IIS 之后):

https://www.codeproject.com/Articles/674930/Configuring-IIS-ASP-NET-and-SQL-Server