我遇到一个问题,在服务器响应头披露IIS版本,状态码显示 "302"。谁能给我一个解决方案,如何删除服务器头。我已经创建了一个IIS重写规则来删除服务器头。
不幸的是,你不能轻易删除服务器头。据我所知,最好的方法是利用重写规则。
下面的出站重写规则(outboundRule
),将删除 Server
头。
<rewrite>
<outboundRules rewriteBeforeCache="true">
<rule name="Remove Server header">
<match serverVariable="RESPONSE_Server" pattern=".+" />
<action type="Rewrite" value="" />
</rule>
</outboundRules>
</rewrite>
正如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
错误。如果问题还存在,欢迎告诉我。