即使从IIS中删除服务器标头,IIS 10.0中也会显示服务器标头



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

不幸的是,您无法轻松删除服务器标头。据我所知,最好的方法是使用重写规则。

以下将删除Server标头的出站重写规则(outboundRule(:

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

正如博客所提到的,URL重写规则对于Http.Sys错误是可行的。我建议您使用请求过滤来删除服务器标头。在IIS10.0(上面的Windows2016(中,我们可以通过在System.webServer部分配置requrestFiltering来简单地删除Server标头。

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

通过这种方式,我们不必应用复杂的出站重写规则,并且当服务器出现HTTP错误时,它仍然有效
如果问题仍然存在,请随时通知我。

最新更新