(特别是 ASP.NET 回发——但即便如此,也只是其中的一部分)
我已将 nginx 配置为反向代理 ASP.NET 服务器。其中大部分工作得很好。所有 GET 请求都有效,大多数 POST 请求也有效。大多数 ASP.NET 回发都能正常工作。但是偶尔会出现回发,由于某种奇怪的原因,我还没有弄清楚,每次都无法收到回复(即保证会失败)。
这个特定的服务器被配置为可以通过指定端口号直接访问 ASP.NET 实例(绕过 nginx)。当绕过 nginx 时,一切正常,所有请求都会立即得到响应。
我能做些什么来进一步调试呢?我无法让 Nginx 记录诸如启动和结束上游请求/响应之类的事件,更不用说它们的整个主体了。Fiddler 无能为力,因为浏览器向 nginx 的请求没有任何问题;问题发生在 nginx 和 ASP.NET 之间。还有其他想法吗?
配置摘录: http: //pastebin.com/FyTtuUQZ
这可能与保活有关,因为回发最终会在大约 65 秒后超时 - 上述配置中指定的保活超时时间。但这可能是一个红鲱鱼。
PS 这是一个仅用于开发的服务器,反向代理的目的是为了让我们可以在这台机器上指向多个域,并且不兼容的服务器都看起来好像它们在端口 80 上。但是为了让我信任 nginx 反向-代理生产服务器,我需要了解这个问题以确保它不会影响生产。