'Bad Gateway'加载aspnetcore RC2默认网站项目时出错

'Bad Gateway' error when loading aspnetcore RC2 default website project

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

我已按照文档 here 中的说明进行操作,例如设置 'No Managed Code' 应用程序池并将物理路径指向 web.config 文件的位置。

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

HTTP Error 502.3 - Bad Gateway There was a connection error while trying to route the request.

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

事件查看器指出:

Failed to start process with commandline 'dotnet ./bin/Debug/netcoreapp1.0/WebApplication2.dll', Error Code = '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 有效

想知道现在要尝试什么。

好的,我解决了我的问题。我将 IIS 中的物理路径指向 unpublished Visual Studio 项目根目录。这适用于以前版本的 .net(即非 dotnet 核心 aspnet 项目)但现在不适用。

如果你真的想让它工作,那么你必须将你的应用程序发布到一个临时文件夹,并将 Microsoft.AspNetCore.* 二进制文件与 refs 一起复制回 bin\Debug\ 文件夹,并且runtimes 个文件夹

当 IIS 找不到指定的 .NET Core 组件并且不知道将请求转发到哪里时,这是一个一般性错误。除了关注 the official IIS publishing guide,请确保您拥有:

我 运行 在新的 Windows 2008 服务器上设置核心 1.0.0(最终版)网站时参与其中。事实证明,我将我的开发机器中的一些安装程序与较新版本混淆了,并且库版本不匹配(RC2 与最终版本)。重新安装服务器托管包解决了这个问题。

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