好的......我需要删除微软:IIS8.5'我的生产服务器的服务器头,我已经使用URLReWrite模块完成了。这是我的规则:
<outboundRules>
<rule name="replace server name header" patternSyntax="Wildcard">
<match serverVariable="RESPONSE_Server" pattern="*" />
<action type="Rewrite" value="MyServer" />
</rule>
</outboundRules>
这适用于所有常规页面。问题是我有自定义错误页面,所以当我遇到错误时, 执行 我的自定义错误(使用MVC),它看起来很棒。
但是,当它返回此自定义错误页面时,Server变量又回到了Microsoft:IIS 8.5&#39;
不确定为什么会这样做,因为UrlReWrite应该替换所有响应中的变量。
为什么会发生这种情况的任何想法?
答案 0 :(得分:2)
好的,经过几个小时后,我无法弄清楚为什么当我执行自定义错误页面时,IIS会绕过服务器标头的重写规则。
我能够将IIS错误页面设置更改为 重定向 到我的自定义错误页面,而不是执行自定义错误页面。
令人抓狂的是,无效页面的返回代码为302的初始响应具有重写的服务器标头以及重定向到的自定义错误页面。
如果其他人遇到同样的问题,我会发布答案。它很模糊,但在进行安全扫描时,可以找到它。