我有一个.Net Core 1.1.0网络应用程序。我一直在使用IISExpress和Visual Studio进行构建和调试。现在我想发布应用程序并将其托管在我自己的Web服务器上,而不是正常的IIS。
步骤:
dotnet publish
,将所有内容打包成发布
夹尝试访问网站的网址时,我得到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();
答案 0 :(得分:0)
您是否安装了正确的运行时环境?
https://www.microsoft.com/net/download/core#/current/runtime
你的web.config指向一个模块AspNetCoreModule,你能看到它正确安装在&#34; Modules&#34; IIS下的应用程序列表?