【问题标题】:Remove IIS Server header when using Custom Error Pages使用自定义错误页面时删除 IIS 服务器标头
【发布时间】:2015-12-30 16:20:30
【问题描述】:

好的...我需要从生产服务器中删除“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:IIS 8.5'

不知道为什么会这样做,因为 UrlReWrite 应该替换所有响应上的变量。

任何想法为什么会发生这种情况?

【问题讨论】:

    标签: iis http-headers httpresponse


    【解决方案1】:

    好的,经过好几个小时后,我不明白为什么当我执行自定义错误页面时,IIS 通过重写服务器标头规则绕过。

    我能够将 IIS 错误页面设置更改为重定向到我的自定义错误页面,而不是执行自定义错误页面。

    疯狂的是,来自无效页面的初始响应(返回代码为 302)具有重写的服务器标头,以及它重定向到的自定义错误页面。

    我想我会发布答案,以防其他人遇到同样的问题。它很模糊,但是通过安全扫描时,可以找到它。

    【讨论】:

    • 感谢您的提示。这节省了我数小时的搜索时间。
    猜你喜欢
    • 2021-09-27
    • 1970-01-01
    • 1970-01-01
    • 2013-08-11
    • 1970-01-01
    • 2014-04-19
    • 1970-01-01
    • 2016-05-09
    • 1970-01-01
    相关资源
    最近更新 更多