.NET Core发布到IIS - HTTP错误502.3 - 错误网关 - 指定的CGI应用程序遇到错误,服务器终止了该进程 [英] .NET Core publish to IIS - HTTP Error 502.3 - Bad Gateway - The specified CGI application encountered an error and the server terminated the process
问题描述
我正在尝试向IIS发布一个.NET Core ASP.NET网站,我将其从RC2升级到RTM。
作为一项完整性检查,我成功地从Visual Studio 2015发布了模板/示例ASP.NET核心Web应用程序(.NET Framework)应用程序。
但出于某种原因,在发布RTM升级版应用时,我收到 HTTP错误502.3 - 错误网关
指定的CGI应用程序遇到错误并且服务器终止了该过程。
该站点正在从Visual Studio运行IIS Express。
我该怎么调试呢?有什么想法吗?
web.config
<?xml version = 1.0encoding =utf-8?>
< configuration>
< system.webServer>
< handlers>
< add name =aspNetCorepath =*verb =*modules =AspNetCoreModuleresourceType =Unspecified/>
< / handlers>
< aspNetCore processPath =。\ MyApp.exearguments =%LAUNCHER_ARGS%stdoutLogEnabled =falsestdoutLogFile =。\ logs \stdout/>
< /system.webServer>
< / configuration>
project.json
{
buildOptions:{
emitEntryPoint:true,
preserveCompilationContext:true,
warningsAsErrors :true
},
dependencies:{
Microsoft.AspNetCore.Diagnostics.Elm:0.1.0,
Microsoft.AspNetCore.Authentication.Cookies :1.0.0,
Microsoft.AspNetCore.Authorization:1.0.0,
Microsoft.AspNetCore.Diagnostics:1.0.0,
Microsoft。 AspNetCore.Hosting:1.0.0,
Microsoft.AspNetCore.Hosting.Abstractions:1.0.0,
Microsoft.AspNetCore.Http.Extensions:1.0.0 ,
Microsoft.AspNetCore.Localization:1.0.0,
Microsoft.AspNetCore.Mvc:1.0.0,
Microsoft.AspNetCore.Routing: 1.0.0,
Microsoft.AspNetCore.Server.IISIntegration:1.0.0,
Microsoft.AspNetCore.Server.Kestrel:1.0.0,
Microsoft.AspNetCore.Session:1.0.0,
Microsoft.AspNetCore.StaticFiles:1 .0.0,
Microsoft.Extensions.Caching.SqlServer:1.0.0,
Microsoft.Extensions.Logging.Console:1.0.0,
Microsoft .Extensions.Logging.Debug:1.0.0,
Microsoft.VisualStudio.Web.BrowserLink.Loader:14.0.0,
Microsoft.AspNetCore.Razor .Tools:{
version:1.0.0-preview2-final,
type:build
},
Microsoft .Extensions.Configuration.EnvironmentVariables:1.0.0,
Microsoft.Extensions.Configuration.Json:1.0.0,
Microsoft.Extensions.Logging:1.0.0 ,
Microsoft.Extensions.Options.ConfigurationExtensions:1.0.0
},
框架:{
net461:{}
},
工具:{
BundlerMinifier.Core:2.0.238,
Microsoft.AspNetCore.Razor.Tools: 1.0.0-preview2-final,
Microsoft.AspNetCore.Server.IISIntegration.Tools:1.0.0-preview2-final
},
脚本:{
prepublish:[bower install,dotnet bundle],
postpublish:dotnet publish-iis --publish-folder%publish:OutputPath% - framework%publish:FullTargetFramework%
},
publishOptions:{
include:[
wwwroot,
web.config,
appsettings.json,
** / * .cshtml,
Config / * .json
]
]
}
}
我该如何调试?有人有主意吗?
以下是三个想法:
-
I'm trying to publish to IIS a .NET Core ASP.NET Website I upgraded from RC2 to RTM.
As a sanity check, I was successfully able to publish the template/sample "ASP.NET Core Web Application (.NET Framework)" app from Visual Studio 2015.
But for some reason, when publishing the RTM upgraded app, I'm getting HTTP Error 502.3 - Bad Gateway The specified CGI application encountered an error and the server terminated the process.
The site DOES work running IIS Express from Visual Studio.
How can I debug this? Anyone have any ideas?
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=".\MyApp.exe" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" /> </system.webServer> </configuration>
project.json
{ "buildOptions": { "emitEntryPoint": true, "preserveCompilationContext": true, "warningsAsErrors": true }, "dependencies": { "Microsoft.AspNetCore.Diagnostics.Elm": "0.1.0", "Microsoft.AspNetCore.Authentication.Cookies": "1.0.0", "Microsoft.AspNetCore.Authorization": "1.0.0", "Microsoft.AspNetCore.Diagnostics": "1.0.0", "Microsoft.AspNetCore.Hosting": "1.0.0", "Microsoft.AspNetCore.Hosting.Abstractions": "1.0.0", "Microsoft.AspNetCore.Http.Extensions": "1.0.0", "Microsoft.AspNetCore.Localization": "1.0.0", "Microsoft.AspNetCore.Mvc": "1.0.0", "Microsoft.AspNetCore.Routing": "1.0.0", "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", "Microsoft.AspNetCore.Server.Kestrel": "1.0.0", "Microsoft.AspNetCore.Session": "1.0.0", "Microsoft.AspNetCore.StaticFiles": "1.0.0", "Microsoft.Extensions.Caching.SqlServer": "1.0.0", "Microsoft.Extensions.Logging.Console": "1.0.0", "Microsoft.Extensions.Logging.Debug": "1.0.0", "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0", "Microsoft.AspNetCore.Razor.Tools": { "version": "1.0.0-preview2-final", "type": "build" }, "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", "Microsoft.Extensions.Configuration.Json": "1.0.0", "Microsoft.Extensions.Logging": "1.0.0", "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0" }, "frameworks": { "net461": {} }, "tools": { "BundlerMinifier.Core": "2.0.238", "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final", "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final" }, "scripts": { "prepublish": [ "bower install", "dotnet bundle" ], "postpublish": "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" }, "publishOptions": { "include": [ "wwwroot", "web.config", "appsettings.json", "**/*.cshtml", "Config/*.json" ] ] } }
解决方案How can I debug this? Anyone have any ideas?
Here are three ideas:
Read this and make sure that you have covered all that it says.
Run the published
.\MyApp.exe
from the command line. Does that work?- If it does, you know you have an IIS integration problem.
- If it does not, you know you have an application problem.
Change
stdoutLogEnabled="false"
totrue
and then check the logs atstdoutLogFile=".\logs\stdout"
. The error(s) there might tell you something.Check your IIS Application logs in the Event Viewer. The error(s) there might tell you something.
Event Viewer Application Logs
这篇关于.NET Core发布到IIS - HTTP错误502.3 - 错误网关 - 指定的CGI应用程序遇到错误,服务器终止了该进程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!