我在 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 中的相同问题和答案: