【发布时间】:2017-04-07 08:27:17
【问题描述】:
我的情况如下:我有一个 ASP.NET Core REST API,它使用通过 IIS 反向代理的 Kestrel(通过 AspNetCoreModule)。在一个特殊的端点(硬件设备需要)上,我发送一个 'Connection: close'-HTTP 标头。在所有其他端点上,我不发送此标头。因此,当我以独立模式(没有 IIS)启动 REST API 时,一切都按预期工作。但是,一旦我在 IIS 上运行它,IIS 就不会转发 Connection 标头,尽管所有其他标头都已正确转发。禁用所有端点的保持活动不是一种选择。到目前为止,我尝试的是为 IIS 安装重写模块并创建一个出站规则,它匹配连接标头设置为关闭并在匹配时重置它。似乎 IIS 忽略了 RESPONSE_Connection 和 HTTP_CONNECTION 服务器变量(我尝试了具有相同规则的其他标头并且它有效)。
最好的解决方案是甚至不安装重写模块。 提前感谢任何解决方案。
【问题讨论】:
-
你解决过这个问题吗?
标签: iis asp.net-core reverse-proxy keep-alive kestrel-http-server