从 IIS 8.5 中删除服务器标头

从 IIS 8.5 中删除服务器标头

我在 Windows Server 2012 R2 上安装了 IIS 8.5。我试图从响应中删除 Server: Microsoft-IIS/8.5 标头。

我尝试安装 URLScan,但安装失败并出现以下错误

IIS Metabase is required to install Microsoft URLScan Filter v3.1.

我尝试从我网站的 UrlRewrite 设置中删除它,但没有效果。有人能帮忙吗?

答案1

改用 URL Rewrite v2 模块并创建重写规则。此模块与 IIS 8.5 兼容。缺点是它只能重写值,而不能删除整个标头,因此您能得到的最好结果是让服务器响应使用“Server:”而不是“Server:Microsoft/IIS”。要完全删除此标头,您需要使用第 7 层设备(如 F5 BIG-IP 负载平衡器上的 iRule)在出站时执行此操作,或者等到您可以开始使用 Windows Server 2016(MS 添加的少数新选项之一是能够禁用服务器标头)。

答案2

您可能没有安装 IIS 6 Metabase Compatibility。

您可以找到有关安装 URLScan 的更多信息这里。 希望这可以帮助。

答案3

只需在 web.config 中的自定义标题段中使用清除标签:

<system.webServer>
   <httpProtocol>
      <customHeaders>
           <clear />
      </customHeaders>
   </httpProtocol>
</system.webServer>

您还可以在“clear”标签下添加任何自定义标头或一些默认 IIS 标头。请参阅 stackoverflow 中的相同问题和答案:

https://stackoverflow.com/questions/22401219/remove-server-response-header-iis-8-0-8-5/39472251#39472251

相关内容