ASP.NET 5 落后于 nginx

ASP.NET 5 behind nginx

我在充当反向代理的 Nginx 服务器后面有一个 ASP.NET 5 MVC6 应用程序。它的配置是:

server {
    listen       80;
    server_name  example.com;

    location / {
            proxy_pass   http://localhost:5000;
            client_max_body_size 50M;
            proxy_set_header Host $host;
    }
 }

它在 Linux 上运行良好,直到 ASP.NET 5 RC1。从那时起,以及在那之前的 Windows,对 MVC 6 控制器的请求将失败:我看到了响应,但浏览器继续加载,就好像响应未完成一样(静态文件已正确提供)。对 http://localhost:5000/api/xxx 的直接请求会立即响应并关闭。

我尝试添加 proxy_buffering off 但没有效果。我怀疑它与分块模式有关,但我在网上没有找到任何相关信息。

这是 rc1 中的 known issue。当前的解决方法是将以下内容添加到您的 nginx 配置中;

proxy_set_header Connection keep-alive;

Fix 计划用于 rc2。