如果我在IIS后面托管基于Kestrel的ASP.NET Core网站UseIISIntegration
,那么Server
响应标题是否仍然说我使用的是Kestrel?因为它似乎是:
这是正确的行为吗?
答案 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(很差)