"服务器"在IIS后面的Kestrel响应头

时间:2016-10-30 16:08:50

标签: asp.net iis asp.net-core kestrel-http-server

如果我在IIS后面托管基于Kestrel的ASP.NET Core网站UseIISIntegration,那么Server响应标题是否仍然说我使用的是Kestrel?因为它似乎是:

enter image description here

这是正确的行为吗?

2 个答案:

答案 0 :(得分:3)

简短回答:是的,它仍然应该报告由Kestrel托管的应用程序。

当您使用IIS来托管ASP.NET Core应用程序时,您真正使用IIS作为Kestrel的反向代理。这是documentation建议的方法:

  

如果您打算在Windows服务器上部署应用程序,则应将IIS作为反向代理服务器运行,以管理和代理对Kestrel的请求。

传入请求将首先由IIS处理,然后传递给Kestrel,如下所示:

网络 - > IIS - > ASP.NET核心模块 - >茶隼

因此,仍然准确地说Kestrel是处理请求的服务器。 IIS只是坐在前面,帮助Kestrel处理传入的流量。如果要确定它是否使用IIS(应该是默认设置),您可以检查该站点是否已设置并分配到IIS管理器中的应用程序池。

答案 1 :(得分:0)

不完全是问题的答案,但是由于Google给了我这个问题的相关答案,这可能对某些人有所帮助:

要删除此“服务器”标题,已在Kestrel启动选项中添加了一个选项,因此在program.cs中,您可以通过添加以下选项将其删除:

{{1}}

Documentation(很差)