首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >删除服务器响应标头IIS 8.0 / 8.5

删除服务器响应标头IIS 8.0 / 8.5
EN

Stack Overflow用户
提问于 2014-03-14 17:41:00
回答 6查看 68.7K关注 0票数 35

如何删除IIS 8.0/8.5中的服务器标头响应?

我当前的服务器报告:Microsoft-IIS/8.0 Microsoft-IIS/8.5

对于IIS7.0,我使用的是URLScan 3.1,但它只支持IIS7.0,不支持8.x

EN

回答 6

Stack Overflow用户

发布于 2014-04-11 20:30:28

遗憾的是,您可以在网上找到的有关删除IIS中的"Server“标头的大多数建议都不适用于IIS 8.0和8.5。我发现唯一可行的选择,在我看来,也是最好的,就是使用IIS Native-Code模块。

本机代码模块与更常见的托管模块不同,因为它们是使用win32 API而不是ASP.NET编写的。这意味着它们适用于所有请求(包括静态页面和图像),而不仅仅是通过ASP.NET管道的请求。使用Native-Code模块,可以在请求的最后删除不需要的标头,这意味着您可以删除标头(包括"Server“标头),而不管它们被设置在哪里。

下面的文章中提供了IIS 7.0到8.5中用于删除标头的示例Native-Code模块的二进制文件和源代码。

http://www.dionach.com/blog/easily-remove-unwanted-http-headers-in-iis-70-to-85

票数 11
EN

Stack Overflow用户

发布于 2018-11-09 19:40:41

从IIS10.0开始,现在可以从web.config中删除Server报头:

<security>
  <requestFiltering removeServerHeader ="true" />
</security>

有关如何删除所有不需要的/不必要的标头的更多详细信息,请参阅here

请注意,这对“应用程序”隐藏了服务器头,就像所有其他方法一样。例如,如果您到达某个默认页面或由IIS本身或应用程序外部的ASP.NET生成的错误页面,则这些规则将不适用。因此,理想情况下,它们应该在IIS中的根级别上,并且该sill可能会将一些错误响应留给IIS本身。

在IIS10中有一个bug,这使得它有时甚至在配置的情况下也会显示报头。现在应该已经修复了,但是IIS/Windows必须更新。

票数 10
EN

Stack Overflow用户

发布于 2018-06-04 20:24:17

对于上面的问题,在Global.asax.cs中添加以下代码

protected void Application_PreSendRequestHeaders() 
   {
       Response.Headers.Remove("Server");
       Response.AddHeader("Sample1", "Value1");
   }

在浏览了这么多次之后,问题得到了解决。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22401219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档