AspNetCoreModule - HTTP错误502.3

时间:2017-01-29 19:48:46

标签: .net iis asp.net-core .net-core

我有一个.Net Core 1.1.0网络应用程序。我一直在使用IISExpress和Visual Studio进行构建和调试。现在我想发布应用程序并将其托管在我自己的Web服务器上,而不是正常的IIS。

步骤:

  1. Ran dotnet publish,将所有内容打包成发布 夹
  2. 在IIS中创建了一个新的应用程序池,其中.NET CLR版本设置为 "没有托管代码"
  3. 在默认网站下创建了一个新的应用程序, 使用新的应用程序池,将物理路径设置为发布 在步骤1中创建的文件夹。
  4. 尝试访问网站的网址时,我得到HTTP Error 502.3 - Bad Gateway,说错误来自的模块是AspNetCoreModule。

    这是针对应用程序池设置为“集成”的托管管道模式。如果我将它设置为Classic,我会得到502.5 - Process Failure。 Windows事件日志没有任何用处。

    这是应用程序的web.config:

    <?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=".\MyApp.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" />
      </system.webServer>
    </configuration>
    

    编辑:这是WebHostBuilder的定义:

    var host = new WebHostBuilder()
                .UseKestrel()
                .UseContentRoot(Directory.GetCurrentDirectory())
                .UseIISIntegration()
                .ConfigureServices(s => s.AddRouting())
                .Configure(app =>
                {
                    SetupRoutes(app);
                    app.UseDefaultFiles();
                    app.UseStaticFiles();
                })
                .Build();
            host.Run();
    

1 个答案:

答案 0 :(得分:0)

您是否安装了正确的运行时环境?

https://www.microsoft.com/net/download/core#/current/runtime

你的web.config指向一个模块AspNetCoreModule,你能看到它正确安装在&#34; Modules&#34; IIS下的应用程序列表?