从IIS中删除服务器头后,IIS 10.0中仍显示服务器头。

问题描述 投票:-1回答:2

我遇到一个问题,在服务器响应头披露IIS版本,状态码显示 "302"。谁能给我一个解决方案,如何删除服务器头。我已经创建了一个IIS重写规则来删除服务器头。

asp.net iis-10
2个回答
0
投票

不幸的是,你不能轻易删除服务器头。据我所知,最好的方法是利用重写规则。

下面的出站重写规则(outboundRule),将删除 Server 头。

<rewrite>    
  <outboundRules rewriteBeforeCache="true">
    <rule name="Remove Server header">
      <match serverVariable="RESPONSE_Server" pattern=".+" />
      <action type="Rewrite" value="" />
    </rule>
  </outboundRules>
</rewrite>

0
投票

正如Blog所提到的,URL重写规则对于以下情况是可行的 Http.Sys 错误。我建议你使用Request filtering来删除服务器头。在IIS10.0(Windows2016以上)中,我们可以简单地通过配置来删除服务器头。requrestFiltering 中的System.webServer部分。

<system.webServer>
        <modules runAllManagedModulesForAllRequests="true"/>
        <directoryBrowse enabled="true"/>
    <security>
  <requestFiltering removeServerHeader ="true" />
</security>
    </system.webServer>

这样一来,我们就不用应用复杂的出站重写规则了,而且当服务器通过 HTTP 错误。如果问题还存在,欢迎告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.