【问题标题】:How do I remove IIS 'server' header from http response using Powershell?如何使用 Powershell 从 http 响应中删除 IIS“服务器”标头?
【发布时间】:2019-06-19 14:03:58
【问题描述】:

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

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

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

【问题讨论】:

    标签: powershell iis http-headers


    【解决方案1】:

    根据你的描述,我建议你可以尝试使用下面的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来达到你的要求。

    结果:

    【讨论】:

    • 这对我来说不适用于 IIS10。我可以执行命令,但即使在重新启动此 IIS 后,我也会看到服务器标头作为响应。
    • 您能告诉我有关您的服务器环境的详细信息吗?我已经在我的服务器 2019 上运行了 powershell 命令,它运行良好。我建议你可以尝试使用 "Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.webServer/security/requestFiltering" -name "removeServerHeader" -value "True" " 这个命令再试一次。跨度>
    • 我查看了 Windows 2016 和 2019,两个版本都有这个变量。我只对两者都运行了第二个命令。在更改之前,我在响应中看到了一个 Server 标头。更改后,它从两个版本中都消失了。 Server 2012 R2 没有此设置,因此它似乎可以在 Windows 2016 及更高版本上运行。
    猜你喜欢
    • 2016-05-09
    • 1970-01-01
    • 2012-09-22
    • 2014-04-19
    • 2021-06-13
    • 1970-01-01
    • 2017-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多