【问题标题】:Aurelia does not load on azure, due to HttpPlatformHandler?由于 HttpPlatformHandler,Aurelia 无法在 azure 上加载?
【发布时间】:2016-09-02 17:08:06
【问题描述】:

我使用 ASP.NET Core RC1 作为服务器来托管我的 Aurelia 应用程序。我的应用程序运行良好,但最近几周发生了一些变化,因此该应用程序在 Azure 上托管时不再加载。我不确定这是否是我更改的内容,或者是否是 Azure 方面的更改,但我倾向于后者。

我已经将问题范围缩小了很多。该应用程序在本地运行良好,使用 ASP.NET Core Kestrel 服务器和其他服务器(例如 webpack-dev-server)。我有从 Visual Studio Team Services 到 Azure 网站的持续部署设置。该应用程序已发布,并且在我的 wwwroot 中自动创建了一个 web.config:

<configuration>
  <system.webServer>
    <handlers>
      <add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
    </handlers>
    <httpPlatform processPath="%home%\site\approot\web.cmd" arguments="" stdoutLogEnabled="true" stdoutLogFile="\\?\%home%\LogFiles\stdout.log"></httpPlatform>
  </system.webServer>
</configuration>

当我导航到我的网站时,没有任何反应,例如http://demo.azurewebsites.net/。查看控制台时,我得到一个 404。一旦我真的得到这个错误,但我似乎无法将其恢复:502 - Web 服务器在充当网关或代理服务器时收到无效响应

我将 index.html 设置为默认文档,但它没有加载。如果我明确输入,应用程序可以工作:http://demo.azurewebsites.net/index.html

如果我从 web.config 中删除 httpplatformhandler,那么它会按预期工作(自动加载 index.html)。当我完全删除 web.config 时也会发生同样的情况。在这些情况下,幕后的 MVC 6 WebAPI 根本不起作用。我认为这是合乎逻辑的,因为我删除了平台处理程序。

那么,为什么要添加这个 httpplatformhandler?有必要吗?为什么创建它?我可以调整 Azure 门户中的某些设置以防止像这样配置此处理程序吗?

我还发现这个链接似乎表明事情正在发生变化并且这个 httpplatformhandler 即将被替换:Closer Look: Hosting ASP.NET Core on Azure App Service

我在这里涉足深海,感谢任何和所有帮助。

【问题讨论】:

  • 你的hosting.json中有什么?
  • 我没有。我是不是该? :)
  • 您通常这样做是为了不硬编码 project.json 命令中的主机/端口等服务器配置。 “web”命令或任何你用来启动红隼的命令也应该这样做
  • 哦,好的。我会调查的。不确定它是否有助于解决我的问题。我的命令很简单: "web": "Microsoft.AspNet.Server.Kestrel", "ef" : "EntityFramework.Commands"
  • 我遇到了与主机设置相关的类似问题。我使用http://*:8081 绑定Kestrel。这似乎导致 Azure App Service 出现问题,因为它试图绑定到 IPv4 和 IPv6。将其更改为仅绑定到 IPv4 与 http://0.0.0.0:8081 一起使用。我在 GitHub 上填写了一个关于它的问题 github.com/aspnet/KestrelHttpServer/issues/766。不知道是否与您的情况有关,但我也遇到了 502 问题。绑定到端口 80 在那里不起作用,因为 IIS 已经在监听它,所以我使用了 8081

标签: asp.net azure asp.net-core aurelia


【解决方案1】:

要使用静态文件服务器中间件获得默认文档支持,您需要使用 app.UseFileServer() 而不是 app.UseStaticFiles()

【讨论】:

  • 感谢@davidfowl,这完全解决了我的问题。我不知道为什么这会更早地工作并停止工作,但这是一项调查,我会再等一天。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-10
  • 1970-01-01
  • 2021-04-11
  • 2015-01-03
  • 2020-05-10
  • 1970-01-01
相关资源
最近更新 更多