从IIS运行ASP.NET Core 2.0应用程序时出现HTTP错误502.5

从IIS运行ASP.NET Core 2.0应用程序时出现HTTP错误502.5,iis,asp.net-core,windows-server-2012-r2,Iis,Asp.net Core,Windows Server 2012 R2,尝试从IIS运行我的ASP.NET core 2.0 web应用程序时出现HTTP 502.5错误 我已经安装了.NET Core Windows Server主机包,并根据本文档检查了我的所有IIS设置 web.config如下所示 在这种情况下,您必须做的第一件事是创建日志文件夹(如果缺少),并检查生成的stdout日志 它可以是几个不同的东西,但从个人经验来看,我遇到的最常见的问题是IIS没有足够的权限运行它。在IIS中,您可以配置高级设置中使用的标识。如果它正在使用Applicatio

尝试从IIS运行我的ASP.NET core 2.0 web应用程序时出现HTTP 502.5错误

我已经安装了.NET Core Windows Server主机包,并根据本文档检查了我的所有IIS设置

web.config如下所示


在这种情况下,您必须做的第一件事是创建
日志
文件夹(如果缺少),并检查生成的stdout日志


它可以是几个不同的东西,但从个人经验来看,我遇到的最常见的问题是IIS没有足够的权限运行它。在IIS中,您可以配置高级设置中使用的标识。如果它正在使用ApplicationPoolIdentity,则将其更改为LocalSystem,并查看它是否工作。但是,stdtout文件中的日志将为您提供答案。

在这种情况下,您必须做的第一件事是创建
logs
文件夹(如果缺少),并检查生成的stdout日志


它可以是几个不同的东西,但从个人经验来看,我遇到的最常见的问题是IIS没有足够的权限运行它。在IIS中,您可以配置高级设置中使用的标识。如果它正在使用ApplicationPoolIdentity,则将其更改为LocalSystem,并查看它是否工作。但是,stdtout文件中的日志将为您提供答案。

不确定您的网络配置是否完整。我相信aspnetcore标签也需要设置aspnetcore_环境变量

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="dotnet" arguments=".\OscarWeb.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" >
        <environmentVariables>
            <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="YourRuntimeEnv" />
        </environmentVariables>
    </aspNetCore>
  </system.webServer>
</configuration>

不确定您的网络配置是否完成。我相信aspnetcore标签也需要设置aspnetcore_环境变量

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="dotnet" arguments=".\OscarWeb.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" >
        <environmentVariables>
            <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="YourRuntimeEnv" />
        </environmentVariables>
    </aspNetCore>
  </system.webServer>
</configuration>

这个问题的解决方案(至少在我的情况下)是重新启动web服务器。安装.NET Core Windows Server托管捆绑包后,需要重新启动服务器才能正确注册


感谢Chris Pratt(我问题下面的第一条评论)提出了答案:)

这个问题的解决方案(至少在我的情况下)是重新启动web服务器。安装.NET Core Windows Server托管捆绑包后,需要重新启动服务器才能正确注册


感谢Chris Pratt(我问题下面的第一条评论)提出了答案:)

安装托管包后是否重新启动了机器?我将尝试一下。我们的服务器上有用户在使用其他应用程序,因此在所有人都回家后需要重新启动。如果您不能/不想完全重新启动,您至少必须完全停止IIS服务(iisreset是不够的)。我不记得我脑子里的命令,但应该很容易找到。不过,在IIS实际使用托管包安装的模块之前,必须先执行其中一项操作。表示0x80070002错误表示“未找到文件”(可能丢失“文件”或IIS没有权限)。此外,请检查此>
站点位于非标准位置,并且IIS没有该文件夹的读取权限。将应用程序池更改为以管理员身份运行有助于
@ChrisPratt在周末重新启动后,您的建议起作用。ASP.NET Core 2.0应用程序现在运行良好。谢谢你的建议。你在安装主机包后重新启动了机器吗?我会试试看。我们的服务器上有用户在使用其他应用程序,因此在所有人都回家后需要重新启动。如果您不能/不想完全重新启动,您至少必须完全停止IIS服务(iisreset是不够的)。我不记得我脑子里的命令,但应该很容易找到。不过,在IIS实际使用托管包安装的模块之前,必须先执行其中一项操作。表示0x80070002错误表示“未找到文件”(可能丢失“文件”或IIS没有权限)。此外,请检查此>
站点位于非标准位置,并且IIS没有该文件夹的读取权限。将应用程序池更改为以管理员身份运行有助于
@ChrisPratt在周末重新启动后,您的建议起作用。ASP.NET Core 2.0应用程序现在运行良好。谢谢你的建议。