ASP.NET Core RC2 IIS在选项请求上返回502

时间:2016-06-02 09:28:15

标签: c# asp.net iis asp.net-core asp.net-core-mvc

我们最近升级到RC2的ASP.NET核心应用程序。在升级之前一切都很好,升级后一切都在开发和登台环境中工作,但在生产中,应用程序对每个未由MVC端点处理的请求作出502响应:

  

502 - Web服务器在充当网关或代理服务器时收到无效响应。    您正在查找的页面存在问题,无法显示。当Web服务器(作为网关或代理)与上游内容服务器联系时,它从内容服务器收到无效响应。

这意味着例如https://www.myapp.com/somenonexistingroute返回502而不是404,而对现有端点的调用工作正常。

问题在于我们在跨源环境中使用应用程序,因此我们需要选项请求(预检Cors请求)才能工作,并且它们也会响应502.

所有环境都运行Windows Server 2012,其中安装了IIS 8.5并安装了ASP.NET Core平台处理程序。

发生了什么事?

更新

经过一些调试后,我们发现这可能是由框架中的错误引起的。我们创建了一个GitHub issue

1 个答案:

答案 0 :(得分:0)

我知道为时已晚,但是也许它可以帮助其他面对此类问题的人。

对于预检请求(选项请求,Angular 5网站-> asp.net Core 2.0 Web API,IIS 7.5),我也出现502错误。

我发现我定义了两次ASPNETCORE_ENVIRONMENT环境变量(具有相同的值);一次在我的asp.net核心Web api的web.config文件中,一次在IIS的配置编辑器中(system.webServer / aspNetCore-> ApplicationHost.config <…>-> enviromentVariables)。一旦我删除了其中一个(IIS一个,但无论哪个都可以),我的预检请求就再次起作用!

相关问题