首页 > 解决方案 > 如何使用 Powershell 从 http 响应中删除 IIS“服务器”标头?

问题描述

在 HTTP 响应中,我看到一些需要使用 Powershell 在 IIS 级别过滤的服务器标头。我知道如何删除自定义标头,但我找不到删除服务器标头的方法。

我在响应中看到的标题.. 服务器类型:XXXXXX 服务器版本:XXXXXX 来源:XXXXXX 附加数据:XXXXXX

这篇文章解释了如何删除自定义标头,它对我有用,但我似乎无法找到使用 powershell 对服务器标头进行 rmeove 的方法。 如何使用 Powershell 删除 IIS 自定义标头?

标签: powershelliishttp-headers

解决方案


根据您的描述,我建议您可以尝试使用以下 powershell 命令删除 IIS http 响应服务器标头:

Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Default Web Site'  -filter "system.webServer/security/requestFiltering" -name "removeServerHeader" -value "True"
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST'  -filter "system.webServer/security/requestFiltering" -name "removeServerHeader" -value "True"

注意:

第一个用于默认网站,第二个将从服务器上运行的所有网站中删除它。

这仅适用于 IIS10。如果您使用 IIS8 或更低版本,则只能使用 url rewrite 来实现您的要求。

结果:

在此处输入图像描述


推荐阅读