【问题标题】:Asp.net core rc2 binary can not run IIS 8.5 window server 2012, getting error 502.3Asp.net core rc2 binary 无法运行 IIS 8.5 window server 2012,报错 502.3
【发布时间】:2016-06-12 07:45:52
【问题描述】:

我正在尝试让我的新 asp.net core rc2 版本在运行 IIs 8.5 和 windows 2012 服务器的开发服务器上运行

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

  • 使用 VS 2015 (Dev14) U2 创建一个新的 asp.net core 项目
  • 更改 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。它将启动 nano 服务器。

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

HTTP 错误 502.3 - 网关错误

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

我在 D:\apps\myapp1\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>

【问题讨论】:

    标签: c# iis asp.net-core


    【解决方案1】:

    您可以采取一些措施来解决问题:

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

    我写了一封 blog post 解释 ASP.NET Core 应用程序如何与 IIS 一起工作,并且该帖子包含解决您的问题的部分。

    【讨论】:

    • 嘿,谢谢你的回复。 Dotnet.exe 在我的 %PATH% 上,并且日志文件夹存在。我也给大家许可。我还可以在我的开发服务器上使用 dotnet 和 nano 服务器为 myapp1.dll 提供服务。我会看看你的博客文章,看看我是否需要做其他事情
    • 您显示的 web.config 是在发布应用程序之前还是之后?因为它有 %LAUNCHER_*% 占位符,如果没有用实际值替换,那么 IIS/AspNet 核心模块正试图启动显然永远不会工作的那个。
    • 是的,它只是 arguments=".\myapp1.dll" 和 processPath="dotnet"
    • 有趣的是,事件日志中的错误消息包含' ' 作为命令行。我认为在这里您应该看到 IIS 尝试运行的命令。您可能想使用进程监视器来查看 Asp NET Core 模块尝试启动的内容。
    【解决方案2】:

    所以我终于弄清楚出了什么问题。显然是因为我没有在 IIS 的“默认网站”下设置我的网站,所以 IIS(我认为)错误地路由了我的网站。我的解决方法是将我的网站移到默认网站下。

    我的一个朋友找到了另一种在默认网站之外设置网站的方法,即禁用默认网站。我没有尝试让默认网站启用和 MyApp 网站启用工作。也许其他人可以贡献...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多