过去,您可以使用Microsoft的UrlScan来修改标题,并删除显示IIS版本的标题。
这不适用于IIS 7.5,IIS 7.0是支持的最新版本。 有什么办法,我仍然可以删除一些响应标题?
运行安装了IIS7.5的Windows Server 2008。
您可以使用IIS本机代码模块删除IIS 7.5中的任何头文件(实际上,相同的模块应该可以在IIS 7.0 – 8.5中使用)。
Native-Code模块与更常用的Managed模块不同,因为它们是使用win32 API而不是ASP.NET编写的。 它们适用于所有请求,包括静态页面和图像。
以下文章提供了用于删除IIS 7.0到8.5中的标头的示例Native-Code模块的二进制文件和源代码。 此模块是一个简单的MSI安装,默认情况下,将删除“服务器”“X-Powered-By”和“AspNet版本”标题。 其他标题可以使用IISconfiguration删除。
http://www.dionach.com/blog/easily-remove-unwanted-http-headers-in-iis-70-to-85
networking上有很多资源可以解释如何做到这一点。 只是一个样本:
不过,我承认,他们大多数不会在任何情况下工作:
Global.asax.cs
文件的源代码。 Global.asax
方法仅适用于使用ASP.NET
开发的网站。 那么如果你的网站只是静态的html
页面,而css
或js
呢? web.config
方法将无法删除Server Version
标题。 就我而言,我决定摆脱所有与开发相关的解决方法。
我select了URL Rewrite
方法,所以我完全独立于Web开发人员(如果有)以及ASP.NET
或HTML
开发。
删除标题X-Powered-By
:
IIS Manager
,导航到您的网站 HTTP Response Header
X-Powered-By
,然后单击Remove
要删除Server Version
标题,我使用Microsoft的URL Rewrite
扩展:
然后,我定义了一个出站规则,用一个空值重写Server Version
。 但是,我也可以写一个错误的值,如Apache
或unknown
;)
我希望,像我一样,你会发现这些链接非常有助于实现我所说的:
最后,我还没有自己testing,但似乎你仍然可以使用IIS7.5/8
UrlScan
: