加载aspnetcore RC2默认网站项目时出现“Bad Gateway”错误

时间:2016-05-21 11:13:08

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

我试图通过IIS运行默认的ASP.NET核心Web应用程序(VS 2015中的Web应用程序模板)。

我已按照文档here中的说明进行操作,例如设置“无管理代码”应用程序池并将物理路径指向web.config文件的位置。

当我尝试浏览网站root时,http://localhost我收到此错误:

  
    

HTTP错误502.3 - 错误的网关尝试路由请求时出现连接错误。

  
     

最有可能的原因:CGI应用程序没有返回有效的一组   HTTP错误。充当代理或网关的服务器无法执行此操作   由于父网关中的错误而处理请求。

事件查看器声明:

  

无法使用命令行'dotnet ./bin/Debug/netcoreapp1.0/WebApplication2.dll'启动进程,错误代码='0x80004005'。

此错误显示我已替换占位符

<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%"
web.config中的

,其中包含所需的值

<aspNetCore processPath="dotnet" arguments="./bin/Debug/netcoreapp1.0/WebApplication2.dll"

更新:发布时会替换这些占位符)

根据我已安装.NET Core Windows Server Hosting Bundle的故障排除说明并重新启动服务器。

通过dotnet从命令行运行

想知道现在要尝试什么。

2 个答案:

答案 0 :(得分:4)

好的,我想出了我的问题。我将IIS中的物理路径指向未发布的 Visual Studio项目根目录。这适用于以前版本的.net(即非dotnet核心aspnet项目),但现在还没有。

如果您确实希望这样做,那么您必须将应用程序发布到临时文件夹,然后将Microsoft.AspNetCore.*二进制文件与bin\Debug\和{{refs文件夹一起复制回runtimes文件夹1}}文件夹

答案 1 :(得分:0)

这是IIS无法找到指定的.NET Core组件且不知道转发请求的位置时的一般错误。除了the official IIS publishing guide之后,请确保您拥有:

我在新的Windows 2008 Server上设置Core 1.0.0(最终)网站时遇到了这个问题。结果我把我的开发机器中的一些安装程序与更新的版本混淆了,并且库版本不匹配(RC2 vs final)。重新安装Server Hosting包修复了问题。

故障排除的关键是进入控制台并使用dotnet命令(以及产生的错误消息)进行迭代,直到我从控制台运行我的站点,因为浏览器中的IIS错误页面无用。我还发现系统错误日志中的一些条目有一些好处,但不多。