好的.我需要从我的生产服务器中删除'Microsoft: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:IIS8.5”
不确定为什么会这样做,因为UrlReWrite应该在所有响应上替换变量。
知道为什么会发生这种事吗?
发布于 2016-01-04 15:53:47
好的,很多小时之后,我不明白为什么当我执行一个自定义错误页时,IIS会通过重写服务器头的规则来绕过。
我能够将instead设置更改为,将重定向到我的自定义错误页,而不是执行自定义错误页。
最疯狂的是,来自无效页的初始响应(返回代码为302 )有重写的服务器头,以及重定向到的自定义错误页。
我想我会贴出答案以防其他人碰到同样的问题。它是模糊的,但当进行安全扫描时,可以找到它。
https://stackoverflow.com/questions/34533162
复制相似问题