Asp.net核心rc2二进制文件无法运行IIS 8.5窗口服务器2012,得到错误502.3

时间:2016-06-12 07:45:52

标签: c# iis asp.net-core

我想在运行IIs 8.5和Windows 2012服务器的开发服务器上运行我的新asp.net核心rc2版本

我已按照此处的步骤列表进行操作,即: 在我当地:

  • 使用VS 2015(Dev14)U2
  • 创建一个新的asp.net核心项目
  • 更改web.config stdoutLogEnabled =“true”,创建新的部署配置文件并将其本地发布到文件夹
  • 确保网站适用于IIS Express。

在我的服务器上

  • 安装了DotNetCore.1.0.0.RC2-WindowsHosting.exe并重置IIS
  • 设置没有托管代码的新应用程序池,在IIS中设置指向本地的新网站:D:\ apps \ myapp1 \
  • 将部署内容复制到D:\ apps \ myapp1 \(例如dll是D:\ apps \ myapp1 \ myapp1.dll)
  • dotnet.exe在路径上。我甚至可以去D:\ apps \ myapp1 \和dotnet myapp1.dll。它将打开纳米服务器。

当我点击http://mydevserver/myapp1(或我的开发服务器上的localhost / myapp1)时看到的内容:

HTTP错误502.3 - 错误网关

当我查看事件日志时,我可以看到一堆这样的失败:

enter image description here D:\ apps \ myapp1 \ logs上的my logs文件夹也是空的。该文件夹中没有任何记录。

此时我很遗憾该怎么做。帮助!

这是我的web.config

的内容
<?xml version="1.0" encoding="utf-8"?>
<configuration>

  <!--
    Configure your application settings in appsettings.json. Learn more at http://go.microsoft.com/fwlink/?LinkId=786380
  -->

  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
    </handlers>
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
  </system.webServer>
</configuration>
</xml>

2 个答案:

答案 0 :(得分:1)

您可以采取一些措施进行问题排查:

  • 转到已发布的应用,尝试不使用IIS运行
  • 如果文件夹不存在则不会写入日志,默认情况下logs文件夹不存在
  • 如果是便携式应用,请确保dotnet.exe的路径位于系统范围内%PATH%(请注意,在设置它以使IIS获取后,您需要执行iisreset

我写了一篇blog post来解释ASP.NET核心应用程序如何与IIS协同工作,帖子中包含了解决问题的部分。

答案 1 :(得分:0)

所以我终于弄明白了什么是错的。显然是因为我没有在IIS的“默认网站”下设置我的网站,所以IIS(我认为)错误地路由了我的网站。我的修复是将我的网站移到默认网站下。

我的一位朋友发现了另一种通过禁用默认网站在默认网站之外设置网站的方法。我没有尝试同时启用默认网站和MyApp网站启用工作。也许其他人可以贡献......